summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-04-26 18:34:47 -0400
committerNick Mathewson <nickm@torproject.org>2012-04-26 18:36:25 -0400
commit9dddfe83f3041e1504d2def5622633eb59a9756f (patch)
tree974508700093e95e301d87ae4602ad0793451b80
parentf86bd1d5a4a5d71f7a529966341a37dbadd7a79f (diff)
downloadtor-9dddfe83f3041e1504d2def5622633eb59a9756f.tar.gz
tor-9dddfe83f3041e1504d2def5622633eb59a9756f.zip
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.
-rw-r--r--changes/mingw-fixes5
-rw-r--r--src/common/util.c2
-rw-r--r--src/test/test_util.c12
3 files changed, 12 insertions, 7 deletions
diff --git a/changes/mingw-fixes b/changes/mingw-fixes
new file mode 100644
index 0000000000..f8cac1859e
--- /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 551ee1796f..276c6dd13b 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 f2123c5540..7a455e06a9 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),