On Tue, Jun 04, 2024 at 06:48:59PM +1000, darcy wrote: > Though I am reading the `tm_to_time_t` code now and it only allows years > up to 2099. > > > if (year < 0 || year > 129) /* algo only works for 1970-2099 */ > > return -1; > > I can of course add a check here for dates close to the end of 2099, but > it seems that the bigger issue is that some day people will want to use > Git after 2099... Should I see if I can extend this range? I'm not sure > where that specific year comes from, it doesn't seem to be based on a > limit of the size of `time_t`, and the comment or git logs don't seem to > provide a reason. I think the 2099 limitation is there because 2100 is not a leap year, and the code has over-simplified computation there (it counts every 4th year as a leap year, which is not generally true for century boundaries, except for 2000 because it is divisible by 400).