From: Junio C Hamano Date: Thu, 14 Jul 2016 17:11:18 GMT Subject: Re: [PATCH v4 3/5] archive-tar: write extended headers for file sizes >= 8GB Message-ID: In-Reply-To: Johannes Sixt writes: > Am 30.06.2016 um 11:09 schrieb Jeff King: >> +/* >> + * This is the max value that a ustar size header can specify, as it is fixed >> + * at 11 octal digits. POSIX specifies that we switch to extended headers at >> + * this size. >> + */ >> +#define USTAR_MAX_SIZE 077777777777UL > > This is too large by one bit for our 32-bit unsigned long on Windows: > > archive-tar.c: In function 'write_tar_entry': > archive-tar.c:295: warning: integer constant is too large for > unsigned long' type > archive-tar.c: In function 'write_global_extended_header': > archive-tar.c:332: warning: integer constant is too large for > unsigned long' type > archive-tar.c:335: warning: integer constant is too large for > unsigned long' type > archive-tar.c:335: warning: overflow in implicit constant conversion Yikes. I guess we need ULL here, and it cascade to all the variables used to interact with this constant, but not everybody has "long long", so....