From: Jeff King Date: Tue, 12 Jul 2016 13:46:52 GMT Subject: Re: [ANNOUNCE] Git v2.9.1 Message-ID: <20160712134652.GA613@sigill.intra.peff.net> In-Reply-To: On Tue, Jul 12, 2016 at 03:31:00PM +0200, Andreas Schwab wrote: > Johannes Schindelin writes: > > > Hi Andreas, > > > > On Tue, 12 Jul 2016, Andreas Schwab wrote: > > > >> Johannes Schindelin 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