From: Tor Lillqvist Date: Wed, 21 Oct 2009 12:49:03 +0000 (+0300) Subject: Look for config files also in the normal Unix-style location (cherry picked from... X-Git-Tag: dbus-1.3.1~164 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=22e434ab67fe431e0bd23f10eae430955f4d3daf;p=thirdparty%2Fdbus.git Look for config files also in the normal Unix-style location (cherry picked from commit 445d1f780fb916f9087c0d95e7594ee5a425d43f) --- diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c index 2a2619d62..793900806 100644 --- a/dbus/dbus-sysdeps-win.c +++ b/dbus/dbus-sysdeps-win.c @@ -3328,7 +3328,9 @@ _dbus_get_install_root(char *prefix, int len) the following path layout install-root/ bin/dbus-daemon[d].exe - etc/.conf + etc/.conf *or* etc/dbus-1/.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; }