Re: [PATCH] archive-tar: fix a sparse 'constant too large' warning
- From
Ramsay Jones <ramsay@ramsayjones.plus.com>
- Date
- May 5, 2017, 01:21 UTC
- Message-ID
- <70b431dc-c5cc-e376-b63e-6a58ee1385f1@ramsayjones.plus.com>
- In-Reply-To
- <alpine.DEB.2.21.1.1705041121520.4905@virtualbox>
On 04/05/17 10:26, Johannes Schindelin wrote:
Show 22 quoted lines
> Hi Ramsay, > > On Thu, 4 May 2017, Ramsay Jones wrote: > >> 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 >> #endif >> > > Funny. 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.
Show 14 quoted lines
> 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!).
Show 10 quoted lines
> #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