PRItime: introduce a new "printf format" for timestamps

Currently, Git's source code treats all timestamps as if they were
unsigned longs. Therefore, it is okay to write "%lu" when printing them.

There is a substantial problem with that, though: at least on Windows,
time_t is *larger* than unsigned long, and hence we will want to switch
away from the ill-specified `unsigned long` data type.

So let's introduce the pseudo format "PRItime" (currently simply being
defined to "lu") to make it easier to change the data type used for
timestamps.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin
2017-04-21 12:45:48 +02:00
committed by Junio C Hamano
parent 1aeb7e756c
commit cb71f8bdb5
15 changed files with 31 additions and 30 deletions

View File

@ -319,6 +319,7 @@ extern char *gitdirname(char *);
#define PRIo32 "o"
#endif
#define PRItime "lu"
#define parse_timestamp strtoul
#ifndef PATH_SEP