From 9dee6b1dced7c05c1b9e291cad06f646a7397d42 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 2 Nov 2012 13:48:29 -0400 Subject: [PATCH] Compile (with warnings) with mingw64 Patch from yayooo for bug 7260, forward-ported to 0.2.4. --- changes/bug7260 | 2 ++ configure.ac | 2 ++ src/common/compat.c | 2 +- src/common/procmon.c | 2 ++ src/win32/orconfig.h | 6 ++++++ 5 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 changes/bug7260 diff --git a/changes/bug7260 b/changes/bug7260 new file mode 100644 index 0000000000..f174461400 --- /dev/null +++ b/changes/bug7260 @@ -0,0 +1,2 @@ + o Minor bugfixes: + - Compile on win64 using mingw64. Fixes bug 7260; patches from "yayooo". diff --git a/configure.ac b/configure.ac index 105528e142..9cc19f897a 100644 --- a/configure.ac +++ b/configure.ac @@ -318,6 +318,7 @@ AC_CHECK_FUNCS( sysconf \ uname \ vasprintf \ + _vscprintf ) if test "$enable_threads" = "yes"; then @@ -784,6 +785,7 @@ AC_CHECK_SIZEOF(__int64) AC_CHECK_SIZEOF(void *) AC_CHECK_SIZEOF(time_t) AC_CHECK_SIZEOF(size_t) +AC_CHECK_SIZEOF(pid_t) AC_CHECK_TYPES([uint, u_char, ssize_t]) diff --git a/src/common/compat.c b/src/common/compat.c index b8674a2f5f..74585cd614 100644 --- a/src/common/compat.c +++ b/src/common/compat.c @@ -425,7 +425,7 @@ tor_vasprintf(char **strp, const char *fmt, va_list args) else *strp = strp_tmp; return r; -#elif defined(_MSC_VER) +#elif defined(HAVE__VSCPRINTF) /* On Windows, _vsnprintf won't tell us the length of the string if it * overflows, so we need to use _vcsprintf to tell how much to allocate */ int len, r; diff --git a/src/common/procmon.c b/src/common/procmon.c index 36b1a48553..3f92c16ee3 100644 --- a/src/common/procmon.c +++ b/src/common/procmon.c @@ -25,7 +25,9 @@ #ifdef _WIN32 #include +#endif +#if 0 == SIZEOF_PID_T /* Windows does not define pid_t, but _getpid() returns an int. */ typedef int pid_t; #endif diff --git a/src/win32/orconfig.h b/src/win32/orconfig.h index e4b2df78a9..4055bb07ab 100644 --- a/src/win32/orconfig.h +++ b/src/win32/orconfig.h @@ -145,6 +145,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H +/* Define to 1 if you have the `_vscprintf' function. */ +#define HAVE__VSCPRINTF 1 + /* Define to 1 iff NULL is represented by a 0 in memory. */ #define NULL_REP_IS_ZERO_BYTES 1 @@ -190,6 +193,9 @@ /* The size of a `long long', as computed by sizeof. */ #undef SIZEOF_LONG_LONG +/* The size of `pid_t', as computed by sizeof. */ +#define SIZEOF_PID_T 0 + /* The size of a `short', as computed by sizeof. */ #define SIZEOF_SHORT 2