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@gmail.com>
This commit is contained in:
Fernando Fernandez Mancera 2018-01-12 17:44:30 +01:00
parent c8c258a433
commit 06368e5310
3 changed files with 22 additions and 4 deletions

5
changes/ticket24861 Normal file
View File

@ -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".

View File

@ -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

View File

@ -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(),