Re: [PATCH/RFC] Fix some warnings (on cygwin) to allow -Werror
From: Ramsay Jones <hidden>
Date: 2016-06-15 22:44:53
Junio C Hamano wrote:
Ramsay Jones [off-list ref] writes:quoted
Despite the subject line, this should be useful on any system for which uint32_t is defined to be unsigned long rather than unsigned int. (and where the return type of htonl() is similarly defined).Correct. Perhaps "Use %PRIu32 and such to print integers of fixed length"? The only worry I have with this patch is with systems with not-so-ANSI headers; as you noticed, we already have: #ifndef PRIuMAX #define PRIuMAX "llu" #endif in git-compat-util.h, which does include <inttypes.h>, so PRIu32 and friends could be problematic on these platforms.
Yes, I had the same worry, since I did not know which system(s) required the above #ifdef and, perhaps more important, why. Having said that, I suspect (hope?) that the affected system(s) are somewhat rare. I guess it would not be long before someone complained otherwise... [Note: I can't just blame the above #ifdef because I don't have a real git repo ;-) - it would simply blame me!]
quoted
@@ -1718,7 +1720,8 @@ static int add_ref_tag(const char *path, const unsigned char *sha1, int flag, vo static void prepare_pack(int window, int depth) { struct object_entry **delta_list; - uint32_t i, n, nr_deltas; + uint32_t i, nr_deltas; + unsigned n;Hmm. Is this change necessary?
Yes, otherwise: builtin-pack-objects.c: In function `prepare_pack': builtin-pack-objects.c:1760: warning: passing arg 2 of `find_deltas' from incompatible pointer type make: *** [builtin-pack-objects.o] Error 1 Note that ll_find_deltas() is #defined to find_deltas() in the #else arm of #ifdef THREADED_DELTA_SEARCH, and find_deltas() takes an "unsigned *" ATB, Ramsay Jones