#ifdef HAVE_MINGW
HKEY key;
char installdir[1024] = "";
- long len = sizeof installdir;
+ DWORD len = sizeof installdir;
#endif
if(netname)
#ifdef HAVE_MINGW
if(!RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\tinc", 0, KEY_READ, &key)) {
- if(!RegQueryValueEx(key, NULL, 0, 0, installdir, &len)) {
+ if(!RegQueryValueEx(key, NULL, 0, 0, (LPBYTE)installdir, &len)) {
confdir = xstrdup(installdir);
if(!logfilename)
xasprintf(&logfilename, "%s" SLASH "log" SLASH "%s.log", installdir, identname);
}
#endif
if(!confdir)
- confdir = xstrdup(CONFDIR);
+ confdir = xstrdup(CONFDIR SLASH "tinc");
if(!logfilename)
xasprintf(&logfilename, LOCALSTATEDIR SLASH "log" SLASH "%s.log", identname);
if(!pidfilename)
xasprintf(&pidfilename, LOCALSTATEDIR SLASH "run" SLASH "%s.pid", identname);
- if(!unixsocketname)
- xasprintf(&unixsocketname, LOCALSTATEDIR SLASH "run" SLASH "%s.socket", identname);
+ if(!unixsocketname) {
+ int len = strlen(pidfilename);
+ unixsocketname = xmalloc(len + 8);
+ strcpy(unixsocketname, pidfilename);
+ if(len > 4 && !strcmp(pidfilename + len - 4, ".pid"))
+ strcpy(unixsocketname + len - 4, ".socket");
+ else
+ strcpy(unixsocketname + len, ".socket");
+ }
if(netname) {
if(!confbase)