[Xfce4-commits] <garcon:jannis/global-monitoring> Add method garcon_config_build_paths().
Jannis Pohlmann
noreply at xfce.org
Wed Mar 10 21:02:11 CET 2010
Updating branch refs/heads/jannis/global-monitoring
to 22a7d666dc8b30bfaec79cab1d984086b0da6754 (commit)
from 5c966d93bd403dd2dbeab2e4aa5b8b0551147cbc (commit)
commit 22a7d666dc8b30bfaec79cab1d984086b0da6754
Author: Jannis Pohlmann <jannis at xfce.org>
Date: Wed Mar 10 20:53:53 2010 +0100
Add method garcon_config_build_paths().
This method builds all config base dir paths for a relative filename
like "menus/applications.menu".
garcon/garcon-config.c | 23 +++++++++++++++++++++++
garcon/{garcon-config.h.in => garcon-config.h} | 15 ++++++++-------
2 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/garcon/garcon-config.c b/garcon/garcon-config.c
index 3669262..9a0b93c 100644
--- a/garcon/garcon-config.c
+++ b/garcon/garcon-config.c
@@ -77,6 +77,29 @@ garcon_check_version (guint required_major,
+gchar **
+garcon_config_build_paths (const gchar *filename)
+{
+ const gchar * const *dirs;
+ gchar **paths;
+ guint n;
+
+ g_return_val_if_fail (filename != NULL && *filename != '\0', NULL);
+
+ dirs = g_get_system_config_dirs ();
+
+ paths = g_new0 (gchar *, 1 + g_strv_length ((gchar **)dirs) + 1);
+
+ paths[0] = g_build_filename (g_get_user_config_dir (), filename, NULL);
+ for (n = 1; dirs[n-1] != NULL; ++n)
+ paths[n] = g_build_filename (dirs[n-1], filename, NULL);
+ paths[n] = NULL;
+
+ return paths;
+}
+
+
+
gchar *
garcon_config_lookup (const gchar *filename)
{
diff --git a/garcon/garcon-config.h.in b/garcon/garcon-config.h
similarity index 75%
copy from garcon/garcon-config.h.in
copy to garcon/garcon-config.h
index 613a137..c7494e8 100644
--- a/garcon/garcon-config.h.in
+++ b/garcon/garcon-config.h
@@ -30,9 +30,9 @@
G_BEGIN_DECLS
-#define GARCON_MAJOR_VERSION @GARCON_VERSION_MAJOR@
-#define GARCON_MINOR_VERSION @GARCON_VERSION_MINOR@
-#define GARCON_MICRO_VERSION @GARCON_VERSION_MICRO@
+#define GARCON_MAJOR_VERSION 0
+#define GARCON_MINOR_VERSION 1
+#define GARCON_MICRO_VERSION 0
#define GARCON_CHECK_VERSION(major,minor,micro) \
(GARCON_MAJOR_VERSION > (major) \
@@ -46,11 +46,12 @@ extern const guint garcon_major_version;
extern const guint garcon_minor_version;
extern const guint garcon_micro_version;
-const gchar *garcon_check_version (guint required_major,
- guint required_minor,
- guint required_micro);
+const gchar *garcon_check_version (guint required_major,
+ guint required_minor,
+ guint required_micro);
-gchar *garcon_config_lookup (const gchar *filename) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
+gchar **garcon_config_build_paths (const gchar *filename) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
+gchar *garcon_config_lookup (const gchar *filename) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
G_END_DECLS
More information about the Xfce4-commits
mailing list