#endif
char *fn;
int len;
+ char path[MAX_PATH + 1];
cmdlen = 0;
va_start (ap, filename);
start.hStdOutput = stdout_handle;
}
#endif
- len = strlen (filename);
- if (strnicmp (filename + len - 4, ".exe", 4) == 0)
- fn = filename;
- else
- GNUNET_asprintf (&fn, "%s.exe", filename);
+ if (FindExecutable(filename, NULL, path) <= 32)
+ {
+ SetErrnoFromWinError (GetLastError ());
+ GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "FindExecutable", fn);
+ return -1;
+ }
if (!CreateProcess
- (fn, cmd, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &start,
+ (path, cmd, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &start,
&proc))
{
SetErrnoFromWinError (GetLastError ());