http: fix some printf format warnings
PATCH 1/1 http: fix some printf format warnings
Commit f8117f55 ("http: use off_t to store partial file size", 02-11-2015) changed the type of some variables from long to off_t. Unfortunately, the off_t type is not portable and can be represented by several different actual types (even multiple types on the same platform). This makes it difficult to print an off_t variable in a platform independent way. As a result, this commit causes gcc to issue some printf format warnings on a couple of different platforms.
In order to suppress the warnings, change the format specifier to use the PRIuMAX macro and cast the off_t argument to uintmax_t. (See also the http_opt_request_remainder() function, which uses the same solution).
--- http.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
http.c +4 -4
@@ -1617,8 +1617,8 @@ struct http_pack_request *new_http_pack_request(if (prev_posn>0 ) {if (http_is_verbose)fprintf (stderr, -"Resuming fetch of pack %s at byte %ld\n" , -sha1_to_hex (target->sha1), prev_posn); +"Resuming fetch of pack %s at byte %" PRIuMAX"\n" , +sha1_to_hex (target->sha1), (uintmax_t )prev_posn);http_opt_request_remainder (preq->slot->curl, prev_posn); }
@@ -1772,8 +1772,8 @@ struct http_object_request *new_http_object_request(const char *base_url,if (prev_posn>0 ) {if (http_is_verbose)fprintf (stderr, -"Resuming fetch of object %s at byte %ld\n" , - hex, prev_posn); +"Resuming fetch of object %s at byte %" PRIuMAX"\n" , + hex, (uintmax_t )prev_posn);http_opt_request_remainder (freq->slot->curl, prev_posn); }
Signature · 1 line
2.6.0
Quoted 8 lines · Ramsay Jones
Commit
f8117f55("http: useoff_tto store partial file size", 02-11-2015) changed the type of some variables from long tooff_t. Unfortunately, theoff_ttype is not portable and can be represented by several different actual types (even multiple types on the same platform). This makes it difficult to print anoff_tvariable in a platform independent way. As a result, this commit causes gcc to issue some printf format warnings on a couple of different platforms.
Quoted 4 lines
In order to suppress the warnings, change the format specifier to use the PRIuMAX macro and cast the
off_targument touintmax_t. (See also thehttp_opt_request_remainder()function, which uses the same solution).
Thanks, that's even better than what I had ghost-written for you. :)
-Peff