chiark / gitweb /
leave a TODO relating to revno 78
[disorder] / lib / configuration.c
index 60b3e0e278a87332c6cb7b0d065e0268eddc2f05..a125bc7f48c0d306afbc0a7d9e9d6596170bca0b 100644 (file)
@@ -17,6 +17,9 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
  * USA
  */
+/** @file lib/configuration.c
+ * @brief Configuration file support
+ */
 
 #include <config.h>
 #include "types.h"
@@ -883,6 +886,7 @@ static int config_set(const struct config_state *cs,
          || which->type->set(cs, which, nvec - 1, vec + 1));
 }
 
+/** @brief Error callback used by config_include() */
 static void config_error(const char *msg, void *u) {
   const struct config_state *cs = u;
 
@@ -1063,8 +1067,10 @@ int config_read() {
 
   set_configfile();
   c = config_default();
-  if(config_include(c, configfile))
-    return -1;
+  /* standalone Disobedience installs might not have a global config file */
+  if(access(configfile, F_OK) == 0)
+    if(config_include(c, configfile))
+      return -1;
   /* if we can read the private config file, do */
   if((privconf = config_private())
      && access(privconf, R_OK) == 0