Convert sizeof foo to sizeof(foo).
[tinc] / src / process.c
index 5d78c29..153dc67 100644 (file)
@@ -62,26 +62,23 @@ static bool install_service(void) {
                return false;
        }
 
-       if(!strchr(program_name, '\\')) {
-               GetCurrentDirectory(sizeof command - 1, command + 1);
-               strncat(command, "\\", sizeof command - strlen(command));
-       }
-
-       strncat(command, program_name, sizeof command - strlen(command));
+       HMODULE module = GetModuleHandle(NULL);
+       GetModuleFileName(module, command + 1, sizeof(command) - 1);
+       command[sizeof(command) - 1] = 0;
 
-       strncat(command, "\"", sizeof command - strlen(command));
+       strncat(command, "\"", sizeof(command) - strlen(command));
 
        for(char **argp = g_argv + 1; *argp; argp++) {
                char *space = strchr(*argp, ' ');
-               strncat(command, " ", sizeof command - strlen(command));
+               strncat(command, " ", sizeof(command) - strlen(command));
 
                if(space)
-                       strncat(command, "\"", sizeof command - strlen(command));
+                       strncat(command, "\"", sizeof(command) - strlen(command));
 
-               strncat(command, *argp, sizeof command - strlen(command));
+               strncat(command, *argp, sizeof(command) - strlen(command));
 
                if(space)
-                       strncat(command, "\"", sizeof command - strlen(command));
+                       strncat(command, "\"", sizeof(command) - strlen(command));
        }
 
        service = CreateService(manager, identname, identname,