From: Johannes Schindelin Date: Wed, 26 Apr 2017 19:29:42 +0000 (+0200) Subject: use uintmax_t for timestamps X-Git-Tag: v2.14.0-rc0~183^2~1 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/28f4aee3fb1a45ebcda8ff84f94d6d2d0053f887?hp=28f4aee3fb1a45ebcda8ff84f94d6d2d0053f887 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 Signed-off-by: Junio C Hamano ---