]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
Look for config files also in the normal Unix-style location (cherry picked from...
authorTor Lillqvist <tml@iki.fi>
Wed, 21 Oct 2009 12:49:03 +0000 (15:49 +0300)
committerRalf Habacker <ralf.habacker@freenet.de>
Tue, 1 Dec 2009 08:20:27 +0000 (09:20 +0100)
dbus/dbus-sysdeps-win.c

index 2a2619d627fc930e4c3de7bd2b2476062167af88..7939008063865beb8fd916bf6735a7c2a6fc5863 100644 (file)
@@ -3328,7 +3328,9 @@ _dbus_get_install_root(char *prefix, int len)
   the following path layout 
     install-root/
       bin/dbus-daemon[d].exe
-      etc/<config-file>.conf 
+      etc/<config-file>.conf *or* etc/dbus-1/<config-file>.conf
+      (the former above is what dbus4win uses, the latter above is
+      what a "normal" Unix-style "make install" uses)
 
     build-root/
       bin/dbus-daemon[d].exe
@@ -3339,12 +3341,11 @@ _dbus_get_config_file_name(DBusString *config_file, char *s)
 {
   char path[MAX_PATH*2];
   int path_size = sizeof(path);
-  int len = 4 + strlen(s);
 
   if (!_dbus_get_install_root(path,path_size))
     return FALSE;
 
-  if(len > sizeof(path)-2)
+  if(strlen(s) + 4 + strlen(path) > sizeof(path)-2)
     return FALSE;
   strcat(path,"etc\\");
   strcat(path,s);
@@ -3358,9 +3359,9 @@ _dbus_get_config_file_name(DBusString *config_file, char *s)
     {
       if (!_dbus_get_install_root(path,path_size))
         return FALSE;
-      if(len + strlen(path) > sizeof(path)-2)
+      if(strlen(s) + 11 + strlen(path) > sizeof(path)-2)
         return FALSE;
-      strcat(path,"bus\\");
+      strcat(path,"etc\\dbus-1\\");
       strcat(path,s);
   
       if (_dbus_file_exists(path)) 
@@ -3368,6 +3369,21 @@ _dbus_get_config_file_name(DBusString *config_file, char *s)
           if (!_dbus_string_append (config_file, path))
             return FALSE;
         }
+      else
+        {
+          if (!_dbus_get_install_root(path,path_size))
+            return FALSE;
+          if(strlen(s) + 4 + strlen(path) > sizeof(path)-2)
+            return FALSE;
+          strcat(path,"bus\\");
+          strcat(path,s);
+          
+          if (_dbus_file_exists(path)) 
+            {
+              if (!_dbus_string_append (config_file, path))
+                return FALSE;
+            }
+        }
     }
   return TRUE;
 }