Browse Source

Merge remote-tracking branch 'teor/bug26986'

Nick Mathewson 5 years ago
parent
commit
7e4ac0283e
3 changed files with 16 additions and 2 deletions
  1. 3 0
      changes/bug26986
  2. 10 0
      src/lib/cc/torint.h
  3. 3 2
      src/tools/tor-print-ed-signing-cert.c

+ 3 - 0
changes/bug26986

@@ -0,0 +1,3 @@
+  o Minor bugfixes (compilation):
+    - Use Windows-compatible format strings in tor-print-ed-signing-cert.c.
+      Fixes bug 26986; bugfix on master.

+ 10 - 0
src/lib/cc/torint.h

@@ -100,6 +100,16 @@ typedef int32_t ssize_t;
 #  define TOR_PRIuSZ "zu"
 #endif
 
+#ifdef _WIN32
+#  ifdef _WIN64
+#    define TOR_PRIdSZ PRId64
+#  else
+#    define TOR_PRIdSZ PRId32
+#  endif
+#else
+#  define TOR_PRIdSZ "zd"
+#endif
+
 #ifndef SSIZE_MAX
 #if (SIZEOF_SIZE_T == 4)
 #define SSIZE_MAX INT32_MAX

+ 3 - 2
src/tools/tor-print-ed-signing-cert.c

@@ -7,6 +7,7 @@
 #include <time.h>
 
 #include "ed25519_cert.h"
+#include "lib/cc/torint.h"  /* TOR_PRIdSZ */
 #include "lib/crypt_ops/crypto_format.h"
 #include "lib/malloc/malloc.h"
 
@@ -49,8 +50,8 @@ main(int argc, char **argv)
 
   ssize_t parsed = ed25519_cert_parse(&cert, certbuf, cert_body_len);
   if (parsed <= 0) {
-    fprintf(stderr, "ed25519_cert_parse failed with return value %zd\n",
-            parsed);
+    fprintf(stderr, "ed25519_cert_parse failed with return value %" TOR_PRIdSZ
+                    "\n", parsed);
     return -5;
   }