aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorNils Durner <durner@gnunet.org>2010-04-16 21:29:50 +0000
committerNils Durner <durner@gnunet.org>2010-04-16 21:29:50 +0000
commit204cc16888aa19a59f6363003fbe7f34404ba4f7 (patch)
treec79e0d44ecf43758fe221ec898f2c7985470b5de /src/util
parent9d37ef1b5fec66ed641e6bcf93e733ca39fab4e9 (diff)
downloadgnunet-204cc16888aa19a59f6363003fbe7f34404ba4f7.tar.gz
gnunet-204cc16888aa19a59f6363003fbe7f34404ba4f7.zip
use search path
Diffstat (limited to 'src/util')
-rw-r--r--src/util/os_priority.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/util/os_priority.c b/src/util/os_priority.c
index b68e6b8fa..14aab8ce1 100644
--- a/src/util/os_priority.c
+++ b/src/util/os_priority.c
@@ -249,6 +249,7 @@ GNUNET_OS_start_process (struct GNUNET_DISK_PipeHandle *pipe_stdin,
249#endif 249#endif
250 char *fn; 250 char *fn;
251 int len; 251 int len;
252 char path[MAX_PATH + 1];
252 253
253 cmdlen = 0; 254 cmdlen = 0;
254 va_start (ap, filename); 255 va_start (ap, filename);
@@ -281,14 +282,15 @@ GNUNET_OS_start_process (struct GNUNET_DISK_PipeHandle *pipe_stdin,
281 start.hStdOutput = stdout_handle; 282 start.hStdOutput = stdout_handle;
282 } 283 }
283#endif 284#endif
284 len = strlen (filename); 285 if (FindExecutable(filename, NULL, path) <= 32)
285 if (strnicmp (filename + len - 4, ".exe", 4) == 0) 286 {
286 fn = filename; 287 SetErrnoFromWinError (GetLastError ());
287 else 288 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "FindExecutable", fn);
288 GNUNET_asprintf (&fn, "%s.exe", filename); 289 return -1;
290 }
289 291
290 if (!CreateProcess 292 if (!CreateProcess
291 (fn, cmd, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &start, 293 (path, cmd, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &start,
292 &proc)) 294 &proc))
293 { 295 {
294 SetErrnoFromWinError (GetLastError ()); 296 SetErrnoFromWinError (GetLastError ());