nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Wertebereich von time t / time t verarbeitenden Funktionen

Von: Dominik Schäfer (usenet0908.30.schaedpq@spamgourmet.com) [Profil]
Datum: 12.02.2009 09:38
Message-ID: <gn0nau$bla$1@news.karotte.org>
Newsgroup: de.comp.os.unix.programming
Moin allerseits,

time_t hat ja je nach Plattform unterschiedliche Wertebereiche. Jetzt hab
ich das Problem, dass time_t auf einer LP64-Plattform ein Integer mit einem
Max von 9223372036854775807LL ist, strftime() dort allerdings ab Eingaben
von ca. 72057594037927936 (bzw. irgendwo zwischen 2^55 und 2^56) segfaultet.
Das stoert mich jetzt eigentlich an sich nicht sonderlich, weil so grosse
Zahlen erstmal wenig praktische Bedeutung haben. Allerdings muss ich die
Benutzereingabe damit auf etwas < max(time_t) beschraenken. (time_t muss ja
kein ein Integer sein, allerdings gehen genug Stellen im Programm davon aus,
dass es einer ist, insofern beschraenk ich mich momentan auf entsprechende
Systeme.)
Welche Vorgehensweise haltet ihr plattformuebergreifend fuer sinnvoll? Auf
der sicheren Seite waere man mit <2147483647, aber da wiederum haben einige
unserer Benutzer Interesse nach groesseren Werten (weil sie mit simulierten
Daten rechnen). Gibt es einen Wert > 2147483647, dessen korrekte
Verarbeitung durch die time_t-verarbeitenden Funktionen auf
POSIX.1-Plattformen ueblicherweise garantiert wird? Meine Suche diesbzgl.
war bisher relativ erfolglos.

Viele Gruesse,
Dominik

[ Auf dieses Posting antworten ]