]> arthur.barton.de Git - netatalk.git/blobdiff - libevent/test/tinytest.c
dist: add missing file abigen.sh
[netatalk.git] / libevent / test / tinytest.c
index d0b77f74255f5b54624d4725ed59606bddf5c8b0..91cd8cb1182e7c6d246cc72425d97eaf3057e33a 100644 (file)
@@ -1,4 +1,4 @@
-/* tinytest.c -- Copyright 2009-2010 Nick Mathewson
+/* tinytest.c -- Copyright 2009-2012 Nick Mathewson
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -66,8 +66,8 @@ const char *cur_test_prefix = NULL; /**< prefix of the current test group */
 const char *cur_test_name = NULL;
 
 #ifdef WIN32
-/** Pointer to argv[0] for win32. */
-static const char *commandname = NULL;
+/* Copy of argv[0] for win32. */
+static char commandname[MAX_PATH+1];
 #endif
 
 static void usage(struct testgroup_t *groups, int list_groups)
@@ -291,7 +291,12 @@ tinytest_main(int c, const char **v, struct testgroup_t *groups)
        int i, j, n=0;
 
 #ifdef WIN32
-       commandname = v[0];
+       const char *sp = strrchr(v[0], '.');
+       const char *extension = "";
+       if (!sp || stricmp(sp, ".exe"))
+               extension = ".exe"; /* Add an exe so CreateProcess will work */
+       snprintf(commandname, sizeof(commandname), "%s%s", v[0], extension);
+       commandname[MAX_PATH]='\0';
 #endif
        for (i=1; i<c; ++i) {
                if (v[i][0] == '-') {