commit 9dddfe83f3041e1504d2def5622633eb59a9756f
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Thu Apr 26 18:34:47 2012 -0400
Several mingw/msvc/cross-compilation fixes
They boil down to:
- MS_WINDOWS is dead and replaced with _WIN32, but we let a few
instances creep in when we merged Esteban's tests.
- Capitalizing windows header names confuses mingw.
- #ifdef 0 ain't C.
- One unit test wasn't compiled on windows, but was being listed
anyway.
- One unit test was checking for the wrong value.
Gisle Vanem found and fixed the latter 3 issues.
---
changes/mingw-fixes | 5 +++++
src/common/util.c | 2 +-
src/test/test_util.c | 12 ++++++------
3 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/changes/mingw-fixes b/changes/mingw-fixes
new file mode 100644
index 0000000..f8cac18
--- /dev/null
+++ b/changes/mingw-fixes
@@ -0,0 +1,5 @@
+ o Minor bugfixes:
+ - Fix cross-compilation isssues with mingw. Bugfixes on
+ 0.2.3.6-alpha and 0.2.3.12-alpha.
+ - Fix compilation with MSVC, which had defined MS_WINDOWS. Bugfix
+ on 0.2.3.13-alpha; found and fixed by Gisle Vanem.
\ No newline at end of file
diff --git a/src/common/util.c b/src/common/util.c
index 551ee17..276c6dd 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -31,7 +31,7 @@
#include <direct.h>
#include <process.h>
#include <tchar.h>
-#include <Winbase.h>
+#include <winbase.h>
#else
#include <dirent.h>
#include <pwd.h>
diff --git a/src/test/test_util.c b/src/test/test_util.c
index f2123c5..7a455e0 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -540,7 +540,7 @@ test_util_config_line_escaped_content(void)
tor_free(v);
}
-#ifndef MS_WINDOWS
+#ifndef _WIN32
static void
test_util_expand_filename(void)
{
@@ -1525,21 +1525,19 @@ test_util_path_is_relative(void)
test_eq(0, path_is_relative("/dir/"));
/* Windows */
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/* I don't have Windows so I can't test this, hence the "#ifdef
0". These are tests that look useful, so please try to get them
running and uncomment if it all works as it should */
-#ifdef 0
test_eq(1, path_is_relative("dir"));
test_eq(1, path_is_relative("dir\\"));
test_eq(1, path_is_relative("dir\\a:"));
test_eq(1, path_is_relative("dir\\a:\\"));
+ test_eq(1, path_is_relative("http:\\dir"));
test_eq(0, path_is_relative("\\dir"));
test_eq(0, path_is_relative("a:\\dir"));
test_eq(0, path_is_relative("z:\\dir"));
- test_eq(0, path_is_relative("http:\\dir"));
-#endif
#endif
done:
@@ -1926,7 +1924,7 @@ test_util_listdir(void *ptr)
test_eq(0, write_str_to_file(fname1, "X\n", 0));
test_eq(0, write_str_to_file(fname2, "Y\n", 0));
test_eq(0, write_str_to_file(fname3, "Z\n", 0));
-#ifdef MS_WINDOWS
+#ifdef _WIN32
r = mkdir(dir1);
#else
r = mkdir(dir1, 0700);
@@ -2887,7 +2885,9 @@ struct testcase_t util_tests[] = {
UTIL_LEGACY(config_line_quotes),
UTIL_LEGACY(config_line_comment_character),
UTIL_LEGACY(config_line_escaped_content),
+#ifndef _WIN32
UTIL_LEGACY(expand_filename),
+#endif
UTIL_LEGACY(strmisc),
UTIL_LEGACY(pow2),
UTIL_LEGACY(gzip),