[tor-commits] [tor/master] Fix compilation with older gccs

nickm at torproject.org nickm at torproject.org
Fri Sep 14 14:06:50 UTC 2012


commit e4ce8cd9691708d9bc0bcc9904d656fe35001946
Author: Nick Mathewson <nickm at torproject.org>
Date:   Fri Sep 14 10:06:00 2012 -0400

    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         |   10 ++++++----
 src/or/main.c             |    9 +++++----
 3 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/changes/old_gcc_macro_fix b/changes/old_gcc_macro_fix
new file mode 100644
index 0000000..5fc0a47
--- /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 0e0dcb1..d4d7cb3 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) {
-      log_notice(LD_GENERAL, "Failed to terminate process with "
-                 "PID '%d' ('%s').", tor_process_get_pid(process_handle),
+      const char *errstr =
 #ifdef _WIN32
-                 format_win32_error(GetLastError()));
+        format_win32_error(GetLastError());
 #else
-                 strerror(errno));
+        strerror(errno);
 #endif
+      log_notice(LD_GENERAL, "Failed to terminate process with "
+                 "PID '%d' ('%s').", tor_process_get_pid(process_handle),
+                 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 01da7a4..635dcb4 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());



More information about the tor-commits mailing list