Explorar el Código

Fix mingw build with -DUNICODE -D_UNICODE

This is a very blunt fix, and mostly just turns some func() calls
into FuncA() to make things build again.  Fixes bug 6097.
Nick Mathewson hace 14 años
padre
commit
bf9252587b
Se han modificado 4 ficheros con 11 adiciones y 4 borrados
  1. 3 0
      changes/fix_unicode
  2. 2 2
      src/common/util.c
  3. 1 1
      src/test/test.c
  4. 5 1
      src/test/test_util.c

+ 3 - 0
changes/fix_unicode

@@ -0,0 +1,3 @@
+  o Minor bugfixes:
+    - Make Tor build correctly again with -DUNICODE -D_UNICODE defined.
+      Bugfix on 0.2.2.16-alpha; fixes bug 6097.

+ 2 - 2
src/common/util.c

@@ -3381,7 +3381,7 @@ tor_spawn_background(const char *const filename, const char **argv,
   process_handle_t *process_handle;
   process_handle_t *process_handle;
   int status;
   int status;
 
 
-  STARTUPINFO siStartInfo;
+  STARTUPINFOA siStartInfo;
   BOOL retval = FALSE;
   BOOL retval = FALSE;
 
 
   SECURITY_ATTRIBUTES saAttr;
   SECURITY_ATTRIBUTES saAttr;
@@ -3442,7 +3442,7 @@ tor_spawn_background(const char *const filename, const char **argv,
 
 
   /* Create the child process */
   /* Create the child process */
 
 
-  retval = CreateProcess(filename,      // module name
+  retval = CreateProcessA(filename,      // module name
                  joined_argv,   // command line
                  joined_argv,   // command line
   /* TODO: should we set explicit security attributes? (#2046, comment 5) */
   /* TODO: should we set explicit security attributes? (#2046, comment 5) */
                  NULL,          // process security attributes
                  NULL,          // process security attributes

+ 1 - 1
src/test/test.c

@@ -91,7 +91,7 @@ setup_directory(void)
     char buf[MAX_PATH];
     char buf[MAX_PATH];
     const char *tmp = buf;
     const char *tmp = buf;
     /* If this fails, we're probably screwed anyway */
     /* If this fails, we're probably screwed anyway */
-    if (!GetTempPath(sizeof(buf),buf))
+    if (!GetTempPathA(sizeof(buf),buf))
       tmp = "c:\\windows\\temp";
       tmp = "c:\\windows\\temp";
     tor_snprintf(temp_dir, sizeof(temp_dir),
     tor_snprintf(temp_dir, sizeof(temp_dir),
                  "%s\\tor_test_%d", tmp, (int)getpid());
                  "%s\\tor_test_%d", tmp, (int)getpid());

+ 5 - 1
src/test/test_util.c

@@ -14,6 +14,10 @@
 #include "mempool.h"
 #include "mempool.h"
 #include "memarea.h"
 #include "memarea.h"
 
 
+#ifdef _WIN32
+#include <tchar.h>
+#endif
+
 static void
 static void
 test_util_time(void)
 test_util_time(void)
 {
 {
@@ -2113,7 +2117,7 @@ test_util_parent_dir(void *ptr)
 static void
 static void
 test_util_load_win_lib(void *ptr)
 test_util_load_win_lib(void *ptr)
 {
 {
-  HANDLE h = load_windows_system_library("advapi32.dll");
+  HANDLE h = load_windows_system_library(_T("advapi32.dll"));
   (void) ptr;
   (void) ptr;
 
 
   tt_assert(h);
   tt_assert(h);