[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