From e4ce8cd9691708d9bc0bcc9904d656fe35001946 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 14 Sep 2012 10:06:00 -0400 Subject: [PATCH] Fix compilation with older gccs They don't like to have #preprocessor directives inside macro arguments. Fixes #6842; fix on 0.2.4.2-alpha. Found by grarpamp. --- changes/old_gcc_macro_fix | 5 +++++ src/common/util.c | 12 +++++++----- src/or/main.c | 9 +++++---- 3 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 changes/old_gcc_macro_fix diff --git a/changes/old_gcc_macro_fix b/changes/old_gcc_macro_fix new file mode 100644 index 0000000000..5fc0a47c6a --- /dev/null +++ b/changes/old_gcc_macro_fix @@ -0,0 +1,5 @@ + o Minor bugfixes: + - Fix building with older versions of GCC that don't like preprocessor + directives inside macro arguments. Found by grarpamp. Fixes bug 6842; + bugfix on 0.2.4.2-alpha. + diff --git a/src/common/util.c b/src/common/util.c index 0e0dcb179c..d4d7cb3720 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -3923,13 +3923,15 @@ tor_process_handle_destroy(process_handle_t *process_handle, if (also_terminate_process) { if (tor_terminate_process(process_handle) < 0) { + const char *errstr = +#ifdef _WIN32 + format_win32_error(GetLastError()); +#else + strerror(errno); +#endif log_notice(LD_GENERAL, "Failed to terminate process with " "PID '%d' ('%s').", tor_process_get_pid(process_handle), -#ifdef _WIN32 - format_win32_error(GetLastError())); -#else - strerror(errno)); -#endif + errstr); } else { log_info(LD_GENERAL, "Terminated process with PID '%d'.", tor_process_get_pid(process_handle)); diff --git a/src/or/main.c b/src/or/main.c index 01da7a448d..635dcb4bd5 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -2309,13 +2309,14 @@ tor_init(int argc, char *argv[]) { const char *version = get_version(); - log_notice(LD_GENERAL, "Tor v%s %srunning on %s with Libevent %s " - "and OpenSSL %s.", version, + const char *bev_str = #ifdef USE_BUFFEREVENTS - "(with bufferevents) ", + "(with bufferevents) "; #else - "", + ""; #endif + log_notice(LD_GENERAL, "Tor v%s %srunning on %s with Libevent %s " + "and OpenSSL %s.", version, bev_str, get_uname(), tor_libevent_get_version_str(), crypto_openssl_get_version_str());