gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r20256 - in gnunet-gtk/src: fs lib


From: gnunet
Subject: [GNUnet-SVN] r20256 - in gnunet-gtk/src: fs lib
Date: Sun, 4 Mar 2012 23:28:22 +0100

Author: grothoff
Date: 2012-03-04 23:28:22 +0100 (Sun, 04 Mar 2012)
New Revision: 20256

Modified:
   gnunet-gtk/src/fs/Makefile.am
   gnunet-gtk/src/lib/eventloop.c
Log:
-properly install our default configuration options and parse the respective 
directory as well

Modified: gnunet-gtk/src/fs/Makefile.am
===================================================================
--- gnunet-gtk/src/fs/Makefile.am       2012-03-04 22:26:15 UTC (rev 20255)
+++ gnunet-gtk/src/fs/Makefile.am       2012-03-04 22:28:22 UTC (rev 20256)
@@ -38,6 +38,8 @@
 gnunet_fs_gtk_LDFLAGS = \
   -export-dynamic 
 
+pkgcfgdir= $(pkgdatadir)/config.d/
+
 pkgcfg_DATA = \
   gnunet-fs-gtk.conf
 

Modified: gnunet-gtk/src/lib/eventloop.c
===================================================================
--- gnunet-gtk/src/lib/eventloop.c      2012-03-04 22:26:15 UTC (rev 20255)
+++ gnunet-gtk/src/lib/eventloop.c      2012-03-04 22:28:22 UTC (rev 20256)
@@ -42,9 +42,9 @@
 {
 
   /**
-   * Our configuration.
+   * Our configuration (includes defaults from gnunet-gtk/config.d/ and 
gnunet/config.d/)
    */
-  const struct GNUNET_CONFIGURATION_Handle *cfg;
+  struct GNUNET_CONFIGURATION_Handle *cfg;
 
   /**
    * Name of the glade file for the main window
@@ -857,6 +857,9 @@
                const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
   struct GNUNET_GTK_MainLoop *ml = cls;
+  struct GNUNET_CONFIGURATION_Handle *gcfg;
+  char *baseconfig;
+  char *ipath;
   int argc;
 
   /* command-line processing for Gtk arguments */
@@ -864,12 +867,24 @@
   while (args[argc] != NULL)
     argc++;
   gtk_init (&argc, (char ***) &args);
+  gcfg = GNUNET_CONFIGURATION_create ();
 
+  ipath = GNUNET_GTK_installation_get_path (GNUNET_OS_IPK_DATADIR);
+  if (ipath == NULL)
+  {
+    GNUNET_break (0);
+    return;
+  }
+  GNUNET_asprintf (&baseconfig, "%s%s", ipath, "config.d");
+  GNUNET_free (ipath);
+  (void) GNUNET_CONFIGURATION_load_from (gcfg, baseconfig);
+  GNUNET_free (baseconfig);
+  (void) GNUNET_CONFIGURATION_load (gcfg, cfgfile);
   ml->rs = GNUNET_NETWORK_fdset_create ();
   ml->ws = GNUNET_NETWORK_fdset_create ();
   ml->gml = g_main_loop_new (NULL, TRUE);
   ml->gmc = g_main_loop_get_context (ml->gml);
-  ml->cfg = cfg;
+  ml->cfg = gcfg;
   ml->cfgfile = GNUNET_strdup (cfgfile);
 #if WINDOWS
   ml->hEventRead = CreateEvent (NULL, TRUE, FALSE, NULL);
@@ -938,6 +953,8 @@
     g_object_unref (G_OBJECT (ml.builder));
   if (NULL != ml.gml)
     g_main_loop_unref (ml.gml);
+  GNUNET_CONFIGURATION_destroy (ml.cfg);
+  ml.cfg = NULL;
   GNUNET_free_non_null (ml.cfgfile);
   return ret;
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]