Re: [ANNOUNCE] Git v2.9.1
- From
Jeff King <peff@peff.net>
- Date
- Jul 12, 2016, 13:46 UTC
- Message-ID
- <20160712134652.GA613@sigill.intra.peff.net>
- In-Reply-To
- <mvmd1mjdluz.fsf@hawking.suse.de>
On Tue, Jul 12, 2016 at 03:31:00PM +0200, Andreas Schwab wrote:
Show 20 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > > > Hi Andreas, > > > > On Tue, 12 Jul 2016, Andreas Schwab wrote: > > > >> Johannes Schindelin <schindelin@wisc.edu> writes: > >> > >> >> PRIuMAX isn't compatible with time_t. > >> > > >> > That statement is wrong. > >> > >> No, it isn't. PRIuMAX is for uintmax_t, and time_t is not uintmax_t > >> (even if they happen to have the same representation). > > > > Sigh. > > > > So if it is wrong, what is right? > > The right thing is to add a cast, of course.
In general, I think the right cast for time_t should be to (intmax_t), and the formatting string should be PRIdMAX (which, as an aside, needs an entry in git-compat-util.h).
In this particular code (show_date_relative), though, I think you can get away with treating it as unsigned, because it's not actually a time_t but rather a difference. And we handle the negative difference at the top of the function already ("in the future").
-Peff