aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug72602
-rw-r--r--configure.ac2
-rw-r--r--src/common/compat.c2
-rw-r--r--src/common/procmon.c2
-rw-r--r--src/win32/orconfig.h6
5 files changed, 13 insertions, 1 deletions
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 <windows.h>
+#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 <unistd.h> 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