I can only imagine that a lot of other legacy software will have similar issues when we reach year 2038.
I can only imagine that a lot of other legacy software will have similar issues when we reach year 2038.
That's actually very clever. Instead of crashing in unexpected ways or doing odd things, just cleanly exit. If you really want it to run after 2038, you have to emulate the clock, which would then avoid these potential Y2038 bugs.
Although the most clever solution would be to not have any bugs in the first place ofc ;)
Also take a look at struct tm. Its tm_year looked like just a 2 digit year and as such people may format it with printf(“19%02d”,…). It is actually the number of years since 1900. In early 2000 I had to fix a broken ftp server that was sending 19100 as the year.
I think it's likely to be better handled, but at the same time people keep citing the non-disaster of Y2K as a reason not to do disaster preparation, so I don't know.
I do think though there were some bioses that messed it up too, so that's rather low level too.
Total coincidence, but fun to think of the conspiracy theory :D
I use EPOC time in my own code NOW, a lot... :-/
As I understand it, it seems like it’s mostly software using 32-bit integers that will struggle.
So if you’re writing modern code on a modern runtime running on 64-bit platforms you should be fine (easy to verify by changing your dev environment’s clock).
Out of support, aging 32bit SPARC hosts running 4.6c SAP.
That's production!
replace "int64"
I kid, fixing this will require an even greater amount of effort compared to the Y2K bug considering how many more linux devices have been deployed since then.