[tor-commits] [tor/master] Fix minGW compatibility issue with zu format specifier.
nickm at torproject.org
nickm at torproject.org
Fri Jan 12 18:30:22 UTC 2018
commit 06368e531097d3b973f1f052e77e7ffdecde1b70
Author: Fernando Fernandez Mancera <ffernandezmancera at gmail.com>
Date: Fri Jan 12 17:44:30 2018 +0100
Fix minGW compatibility issue with zu format specifier.
Define TOR_PRIuSZ as minGW compiler doesn't support zu format specifier for
size_t type.
Fixes #24861 on ac9eebd.
Signed-off-by: Fernando Fernandez Mancera <ffernandezmancera at gmail.com>
---
changes/ticket24861 | 5 +++++
src/common/torint.h | 10 ++++++++++
src/or/circuitlist.c | 11 +++++++----
3 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/changes/ticket24861 b/changes/ticket24861
new file mode 100644
index 000000000..beddb770b
--- /dev/null
+++ b/changes/ticket24861
@@ -0,0 +1,5 @@
+ o Minor bugfix (zu format specifier on minGW):
+ - Fix minGW compatibility issue. Define TOR_PRIuSZ as minGW compiler
+ doesn't support zu format specifier for size_t type. Fixes bug 24861;
+ bugfix on ac9eebd6363.
+ Patch by "ffmancera".
diff --git a/src/common/torint.h b/src/common/torint.h
index bc81c114f..0b8061d24 100644
--- a/src/common/torint.h
+++ b/src/common/torint.h
@@ -348,6 +348,16 @@ typedef uint32_t uintptr_t;
#endif /* (SIZEOF_SIZE_T == 4) || ... */
#endif /* !defined(SIZE_MAX) */
+#ifdef _WIN32
+# ifdef _WIN64
+# define TOR_PRIuSZ PRIu64
+# else
+# define TOR_PRIuSZ PRIu32
+# endif
+#else
+# define TOR_PRIuSZ "zu"
+#endif
+
#ifndef SSIZE_MAX
#if (SIZEOF_SIZE_T == 4)
#define SSIZE_MAX INT32_MAX
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index 661438d8f..028fdbfc2 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -51,6 +51,8 @@
* logic, which was originally circuit-focused.
**/
#define CIRCUITLIST_PRIVATE
+#include "torint.h" /* TOR_PRIuSZ */
+
#include "or.h"
#include "channel.h"
#include "circpathbias.h"
@@ -2404,10 +2406,11 @@ circuits_handle_oom(size_t current_allocation)
int n_circuits_killed=0;
int n_dirconns_killed=0;
uint32_t now_ts;
- log_notice(LD_GENERAL, "We're low on memory (cell queues total alloc: %zu,"
- " buffer total alloc: %zu, tor compress total alloc: %zu,"
- " rendezvous cache total alloc: %zu). Killing circuits with"
- " over-long queues. (This behavior is controlled by"
+ log_notice(LD_GENERAL, "We're low on memory (cell queues total alloc:"
+ " %"TOR_PRIuSZ" buffer total alloc: %" TOR_PRIuSZ ","
+ " tor compress total alloc: %" TOR_PRIuSZ
+ " rendezvous cache total alloc: %" TOR_PRIuSZ "). Killing"
+ " circuits withover-long queues. (This behavior is controlled by"
" MaxMemInQueues.)",
cell_queues_get_total_allocation(),
buf_get_total_allocation(),
More information about the tor-commits
mailing list