diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2017-04-26 21:29:42 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-04-27 13:07:40 +0900 |
commit | 28f4aee3fb1a45ebcda8ff84f94d6d2d0053f887 (patch) | |
tree | 764bf7af33f9faee1dc1d7083a1d9885a6f218bd /git-compat-util.h | |
parent | 1e65a982da0e9dd4eac440e82392a8b7c72b3def (diff) | |
download | git-28f4aee3fb1a45ebcda8ff84f94d6d2d0053f887.tar.gz |
use uintmax_t for timestamps
Previously, we used `unsigned long` for timestamps. This was only a good
choice on Linux, where we know implicitly that `unsigned long` is what is
used for `time_t`.
However, we want to use a different data type for timestamps for two
reasons:
- there is nothing that says that `unsigned long` should be the same data
type as `time_t`, and indeed, on 64-bit Windows for example, it is not:
`unsigned long` is 32-bit but `time_t` is 64-bit.
- even on 32-bit Linux, where `unsigned long` (and thereby `time_t`) is
32-bit, we *want* to be able to encode timestamps in Git that are
currently absurdly far in the future, *even if* the system library is
not able to format those timestamps into date strings.
So let's just switch to the maximal integer type available, which should
be at least 64-bit for all practical purposes these days. It certainly
cannot be worse than `unsigned long`, so...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-compat-util.h')
-rw-r--r-- | git-compat-util.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/git-compat-util.h b/git-compat-util.h index 72c12173a1..f8349a03bd 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -319,10 +319,10 @@ extern char *gitdirname(char *); #define PRIo32 "o" #endif -typedef unsigned long timestamp_t; -#define PRItime "lu" -#define parse_timestamp strtoul -#define TIME_MAX ULONG_MAX +typedef uintmax_t timestamp_t; +#define PRItime PRIuMAX +#define parse_timestamp strtoumax +#define TIME_MAX UINTMAX_MAX #ifndef PATH_SEP #define PATH_SEP ':' |