fix
authorNils Durner <durner@gnunet.org>
Sat, 21 Nov 2009 23:56:41 +0000 (23:56 +0000)
committerNils Durner <durner@gnunet.org>
Sat, 21 Nov 2009 23:56:41 +0000 (23:56 +0000)
src/util/os_priority.c
src/util/test_resolver_api.c

index aa540e5b44bc1e643abc3c1c883a60716d7595a8..9f872d04d8608c6e8f9b226500ca42d701097af6 100644 (file)
@@ -180,6 +180,8 @@ GNUNET_OS_start_process (const char *filename, ...)
   char *cmd, *idx;
   STARTUPINFO start;
   PROCESS_INFORMATION proc;
+  char *fn;
+  int len;
 
   cmdlen = 0;
   va_start (ap, filename);
@@ -196,14 +198,22 @@ GNUNET_OS_start_process (const char *filename, ...)
   memset (&start, 0, sizeof (start));
   start.cb = sizeof (start);
 
+  len = strlen (filename);
+  if (strnicmp (filename + len - 4, ".exe", 4) == 0)
+    fn = filename;
+  else
+    GNUNET_asprintf (&fn, "%s.exe", filename);
+
   if (!CreateProcess
-      (filename, cmd, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &start,
+      (fn, cmd, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &start,
        &proc))
     {
       SetErrnoFromWinError (GetLastError ());
-      GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "CreateProcess", filename);
+      GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "CreateProcess", fn);
       return -1;
     }
+  if (fn != filename)
+    GNUNET_free (fn);
   CloseHandle (proc.hProcess);
   CloseHandle (proc.hThread);
 
index 328a9e5b8c4b0effa2fdafa77242896366507810..f49d7a79af4eefcc0e5a83cc428809427dd4d071 100644 (file)
@@ -171,7 +171,7 @@ check ()
   struct GNUNET_GETOPT_CommandLineOption options[] = {
     GNUNET_GETOPT_OPTION_END
   };
-  GNUNET_asprintf(&fn, "%s%cgnunet-service-resolver.exe",
+  GNUNET_asprintf(&fn, "%s%cgnunet-service-resolver",
                   GNUNET_OS_installation_get_path(GNUNET_OS_IPK_BINDIR),
                   DIR_SEPARATOR);
   pid = GNUNET_OS_start_process (fn,