Re: [PATCH] archive-tar: fix a sparse 'constant too large' warning
From: Ramsay Jones <hidden>
Date: 2017-05-05 01:21:57
On 04/05/17 10:26, Johannes Schindelin wrote:
Hi Ramsay, On Thu, 4 May 2017, Ramsay Jones wrote:quoted
diff --git a/archive-tar.c b/archive-tar.c index 319a5b1c7..6dddc0cff 100644 --- a/archive-tar.c +++ b/archive-tar.c@@ -33,7 +33,7 @@ static int write_tar_filter_archive(const struct archiver *ar, #if TIME_MAX == 0xFFFFFFFF #define USTAR_MAX_MTIME TIME_MAX #else -#define USTAR_MAX_MTIME 077777777777UL +#define USTAR_MAX_MTIME 077777777777ULL #endifFunny. This problem was pointed out by Hannes Sixt (IIRC) and I fixed this very thing in v6. Except I did not. I changed the wrong constant! Instead of USTAR_MAX_MTIME, I adjusted USTAR_MAX_SIZE. D'oh.
Ah, I did wonder about that.
quoted hunk ↗ jump to hunk
I just saw that my patch series already hit `next`, so I fear you are right that we need a follow-up patch. Maybe we want this diff, though? -- snipsnap --diff --git a/archive-tar.c b/archive-tar.c index 319a5b1c7cd..073e60ebd3c 100644 --- a/archive-tar.c +++ b/archive-tar.c@@ -28,12 +28,12 @@ static int write_tar_filter_archive(const struct archiver *ar, #if ULONG_MAX == 0xFFFFFFFF #define USTAR_MAX_SIZE ULONG_MAX #else -#define USTAR_MAX_SIZE 077777777777ULL +#define USTAR_MAX_SIZE 077777777777UL
Sure, I can add this. (Although, I don't think it actually matters). Hmm, unless somebody objects in the meantime, I will re-roll the patch (tomorrow, it's late!).
#endif #if TIME_MAX == 0xFFFFFFFF #define USTAR_MAX_MTIME TIME_MAX #else -#define USTAR_MAX_MTIME 077777777777UL +#define USTAR_MAX_MTIME 077777777777ULL #endif /* writes out the whole block, but only if it is full */
ATB, Ramsay Jones