commit 9dddfe83f3041e1504d2def5622633eb59a9756f Author: Nick Mathewson nickm@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),
tor-commits@lists.torproject.org