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:
committed by
Junio C Hamano
parent
1aeb7e756c
commit
cb71f8bdb5
@ -73,7 +73,7 @@ void fast_export_begin_note(uint32_t revision, const char *author,
|
||||
static int firstnote = 1;
|
||||
size_t loglen = strlen(log);
|
||||
printf("commit %s\n", note_ref);
|
||||
printf("committer %s <%s@%s> %lu +0000\n", author, author, "local", timestamp);
|
||||
printf("committer %s <%s@%s> %"PRItime" +0000\n", author, author, "local", timestamp);
|
||||
printf("data %"PRIuMAX"\n", (uintmax_t)loglen);
|
||||
fwrite(log, loglen, 1, stdout);
|
||||
if (firstnote) {
|
||||
@ -107,7 +107,7 @@ void fast_export_begin_commit(uint32_t revision, const char *author,
|
||||
}
|
||||
printf("commit %s\n", local_ref);
|
||||
printf("mark :%"PRIu32"\n", revision);
|
||||
printf("committer %s <%s@%s> %lu +0000\n",
|
||||
printf("committer %s <%s@%s> %"PRItime" +0000\n",
|
||||
*author ? author : "nobody",
|
||||
*author ? author : "nobody",
|
||||
*uuid ? uuid : "local", timestamp);
|
||||
|
||||
Reference in New Issue
Block a user