diff options
-rw-r--r-- | src/util/os_priority.c | 14 | ||||
-rw-r--r-- | src/util/test_resolver_api.c | 2 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/util/os_priority.c b/src/util/os_priority.c index aa540e5b4..9f872d04d 100644 --- a/src/util/os_priority.c +++ b/src/util/os_priority.c | |||
@@ -180,6 +180,8 @@ GNUNET_OS_start_process (const char *filename, ...) | |||
180 | char *cmd, *idx; | 180 | char *cmd, *idx; |
181 | STARTUPINFO start; | 181 | STARTUPINFO start; |
182 | PROCESS_INFORMATION proc; | 182 | PROCESS_INFORMATION proc; |
183 | char *fn; | ||
184 | int len; | ||
183 | 185 | ||
184 | cmdlen = 0; | 186 | cmdlen = 0; |
185 | va_start (ap, filename); | 187 | va_start (ap, filename); |
@@ -196,14 +198,22 @@ GNUNET_OS_start_process (const char *filename, ...) | |||
196 | memset (&start, 0, sizeof (start)); | 198 | memset (&start, 0, sizeof (start)); |
197 | start.cb = sizeof (start); | 199 | start.cb = sizeof (start); |
198 | 200 | ||
201 | len = strlen (filename); | ||
202 | if (strnicmp (filename + len - 4, ".exe", 4) == 0) | ||
203 | fn = filename; | ||
204 | else | ||
205 | GNUNET_asprintf (&fn, "%s.exe", filename); | ||
206 | |||
199 | if (!CreateProcess | 207 | if (!CreateProcess |
200 | (filename, cmd, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &start, | 208 | (fn, cmd, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &start, |
201 | &proc)) | 209 | &proc)) |
202 | { | 210 | { |
203 | SetErrnoFromWinError (GetLastError ()); | 211 | SetErrnoFromWinError (GetLastError ()); |
204 | GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "CreateProcess", filename); | 212 | GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "CreateProcess", fn); |
205 | return -1; | 213 | return -1; |
206 | } | 214 | } |
215 | if (fn != filename) | ||
216 | GNUNET_free (fn); | ||
207 | CloseHandle (proc.hProcess); | 217 | CloseHandle (proc.hProcess); |
208 | CloseHandle (proc.hThread); | 218 | CloseHandle (proc.hThread); |
209 | 219 | ||
diff --git a/src/util/test_resolver_api.c b/src/util/test_resolver_api.c index 328a9e5b8..f49d7a79a 100644 --- a/src/util/test_resolver_api.c +++ b/src/util/test_resolver_api.c | |||
@@ -171,7 +171,7 @@ check () | |||
171 | struct GNUNET_GETOPT_CommandLineOption options[] = { | 171 | struct GNUNET_GETOPT_CommandLineOption options[] = { |
172 | GNUNET_GETOPT_OPTION_END | 172 | GNUNET_GETOPT_OPTION_END |
173 | }; | 173 | }; |
174 | GNUNET_asprintf(&fn, "%s%cgnunet-service-resolver.exe", | 174 | GNUNET_asprintf(&fn, "%s%cgnunet-service-resolver", |
175 | GNUNET_OS_installation_get_path(GNUNET_OS_IPK_BINDIR), | 175 | GNUNET_OS_installation_get_path(GNUNET_OS_IPK_BINDIR), |
176 | DIR_SEPARATOR); | 176 | DIR_SEPARATOR); |
177 | pid = GNUNET_OS_start_process (fn, | 177 | pid = GNUNET_OS_start_process (fn, |