提交 fb029ceb 编写于 作者: A Adam Eijdenberg 提交者: Emilia Kasper

RT3984: Fix clang compiler warning on Mac OS X where %ld is used for uint64_t.

clang suggests %llu instead, but it isn't clear that is portable on
all platforms.

C99 and above define a handy macro for us, so we try to use that
definition and fall back to current definition if needed (though we
switch to 'u' for unsigned).
Reviewed-by: NMatt Caswell <matt@openssl.org>
上级 08a721ac
...@@ -567,8 +567,8 @@ int enc_main(int argc, char **argv) ...@@ -567,8 +567,8 @@ int enc_main(int argc, char **argv)
ret = 0; ret = 0;
if (verbose) { if (verbose) {
BIO_printf(bio_err, "bytes read :%8ld\n", BIO_number_read(in)); BIO_printf(bio_err, "bytes read :%8"PRIu64"\n", BIO_number_read(in));
BIO_printf(bio_err, "bytes written:%8ld\n", BIO_number_written(out)); BIO_printf(bio_err, "bytes written:%8"PRIu64"\n", BIO_number_written(out));
} }
end: end:
ERR_print_errors(bio_err); ERR_print_errors(bio_err);
......
...@@ -2092,7 +2092,7 @@ static void print_stuff(BIO *bio, SSL *s, int full) ...@@ -2092,7 +2092,7 @@ static void print_stuff(BIO *bio, SSL *s, int full)
ssl_print_tmp_key(bio, s); ssl_print_tmp_key(bio, s);
BIO_printf(bio, BIO_printf(bio,
"---\nSSL handshake has read %ld bytes and written %ld bytes\n", "---\nSSL handshake has read %"PRIu64" bytes and written %"PRIu64" bytes\n",
BIO_number_read(SSL_get_rbio(s)), BIO_number_read(SSL_get_rbio(s)),
BIO_number_written(SSL_get_wbio(s))); BIO_number_written(SSL_get_wbio(s)));
} }
......
...@@ -294,6 +294,22 @@ typedef unsigned __int64 uint64_t; ...@@ -294,6 +294,22 @@ typedef unsigned __int64 uint64_t;
# include <stdint.h> # include <stdint.h>
# endif # endif
/*
* We need a format operator for some client tools for uint64_t.
* This is an attempt at doing so in a portable manner.
* If we can't use a built-in definition, we'll revert to the previous
* behavior that was hard-coded but now causing compiler warnings on
* some systems (e.g. Mac OS X).
*/
# ifndef PRIu64
# if (__STDC_VERSION__ >= 199901L)
# include <inttypes.h>
# endif
# ifndef PRIu64
# define PRIu64 "lu"
# endif
# endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册