Просмотр исходного кода

Don't build format_helper_exit_status on win32

The only thing that used format_helper_exit_status on win32 was the
unit tests. This caused an error when we tried to leave a static
format_helper_exit_status lying around in a production object file.

The easiest solution is to admit that this way of dealing with process
exit status is Unix-only.
Nick Mathewson 11 лет назад
Родитель
Сommit
449b2b7c58
2 измененных файлов с 5 добавлено и 1 удалено
  1. 2 0
      src/common/util.c
  2. 3 1
      src/test/test_util.c

+ 2 - 0
src/common/util.c

@@ -3443,6 +3443,7 @@ format_hex_number_for_helper_exit_status(unsigned int x, char *buf,
   return len;
 }
 
+#ifndef _WIN32
 /** Format <b>child_state</b> and <b>saved_errno</b> as a hex string placed in
  * <b>hex_errno</b>.  Called between fork and _exit, so must be signal-handler
  * safe.
@@ -3551,6 +3552,7 @@ format_helper_exit_status(unsigned char child_state, int saved_errno,
  done:
   return res;
 }
+#endif
 
 /* Maximum number of file descriptors, if we cannot get it via sysconf() */
 #define DEFAULT_MAX_FD 256

+ 3 - 1
src/test/test_util.c

@@ -2281,6 +2281,7 @@ test_util_load_win_lib(void *ptr)
 }
 #endif
 
+#ifndef _WIN32
 static void
 clear_hex_errno(char *hex_errno)
 {
@@ -2324,6 +2325,7 @@ test_util_exit_status(void *ptr)
  done:
   ;
 }
+#endif
 
 #ifndef _WIN32
 /** Check that fgets waits until a full line, and not return a partial line, on
@@ -3346,8 +3348,8 @@ struct testcase_t util_tests[] = {
 #ifdef _WIN32
   UTIL_TEST(load_win_lib, 0),
 #endif
-  UTIL_TEST(exit_status, 0),
 #ifndef _WIN32
+  UTIL_TEST(exit_status, 0),
   UTIL_TEST(fgets_eagain, TT_SKIP),
 #endif
   UTIL_TEST(spawn_background_ok, 0),