aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug269863
-rw-r--r--src/lib/cc/torint.h10
-rw-r--r--src/tools/tor-print-ed-signing-cert.c5
3 files changed, 16 insertions, 2 deletions
diff --git a/changes/bug26986 b/changes/bug26986
new file mode 100644
index 0000000000..a3ab9ff25d
--- /dev/null
+++ b/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.
diff --git a/src/lib/cc/torint.h b/src/lib/cc/torint.h
index b97fc8d975..5097724726 100644
--- a/src/lib/cc/torint.h
+++ b/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
diff --git a/src/tools/tor-print-ed-signing-cert.c b/src/tools/tor-print-ed-signing-cert.c
index ca53e34d5d..0f64059d84 100644
--- a/src/tools/tor-print-ed-signing-cert.c
+++ b/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;
}