summaryrefslogtreecommitdiff
path: root/lib/libc/time
AgeCommit message (Collapse)Author
2014-01-27Use ${TOOL_GZIP} instead of just gzip in all Makefilesapb
outside */dist/* subdirectories. When USE_PIGZGZIP=yes, bsd.own.mk sets TOOL_GZIP=${TOOL_PIGZ}, so there's no need to test USE_PIGZGZIP in these Makefiles.
2014-01-16"soon" is "now". Remove all __indr_reference crap.christos
2013-12-26update from tzcode 2013e to tzcode2013ichristos
i: The compile-time flag NOSOLAR has been removed, as nowadays the benefit of slightly shrinking runtime table size is outweighed by the cost of disallowing potential future updates that exceed old limits. h: Fix localtime overflow bugs with 32-bit unsigned time_t. zdump no longer assumes sscanf returns maximal values on overflow. g: 'zic' now runs on platforms that lack both hard links and symlinks. (Thanks to Theo Veenker for reporting the problem, for MinGW.) Also, fix some bugs on platforms that lack hard links but have symlinks. 'zic -v' again warns that Asia/Tehran has no POSIX environment variable to predict the far future, fixing a bug introduced in 2013e. f: The types of the global variables 'timezone' and 'altzone' (if present) have been changed back to 'long'. This is required for 'timezone' by POSIX, and for 'altzone' by common practice, e.g., Solaris 11. These variables were originally 'long' in the tz code, but were mistakenly changed to 'time_t' in 1987; nobody reported the incompatibility until now. The difference matters on x32, where 'long' is 32 bits and 'time_t' is 64. (Thanks to Elliott Hughes.)
2013-12-13time_t_{min,max} are only used in localtime.cchristos
2013-12-13add a cast for sparc64 where int_fast32_t is long (should it be?), andchristos
time_t is int32_t (for compat)
2013-09-20Welcome to tzcode 2013e:christos
Changes affecting API The 'zic' command now outputs a dummy transition when far-future data can't be summarized using a TZ string, and uses a 402-year window rather than a 400-year window. For the current data, this affects only the Asia/Tehran file. It does not affect any of the time stamps that this file represents, so zdump outputs the same information as before. (Thanks to Andrew Main (Zefram).) The 'date' command has a new '-r' option, which lets you specify the integer time to display, a la FreeBSD. The 'tzselect' command has two new options '-c' and '-n', which lets you select a zone based on latitude and longitude. The 'zic' command's '-v' option now warns about constructs that require the new version-3 binary file format. (Thanks to Arthur David Olson for the suggestion.) Support for floating-point time_t has been removed. It was always dicey, and POSIX no longer requires it. (Thanks to Eric Blake for suggesting to the POSIX committee to remove it, and thanks to Alan Barrett, Clive D.W. Feather, Andy Heninger, Arthur David Olson, and Alois Treindl, for reporting bugs and elucidating some of the corners of the old floating-point implementation.) The signatures of 'offtime', 'timeoff', and 'gtime' have been changed back to the old practice of using 'long' to represent UT offsets. This had been inadvertently and mistakenly changed to 'int_fast32_t'. (Thanks to Christos Zoulos.) The code avoids undefined behavior on integer overflow in some more places, including gmtime, localtime, mktime and zdump. Changes affecting the zdump utility zdump now outputs "UT" when referring to Universal Time, not "UTC". "UTC" does not make sense for time stamps that predate the introduction of UTC, whereas "UT", a more-generic term, does. (Thanks to Steve Allen for clarifying UT vs UTC.) Data changes affecting behavior of tzselect and similar programs Country code BQ is now called the more-common name "Caribbean Netherlands" rather than the more-official "Bonaire, St Eustatius & Saba". Remove from zone.tab the names America/Montreal, America/Shiprock, and Antarctica/South_Pole, as they are equivalent to existing same-country-code zones for post-1970 time stamps. The data for these names are unchanged, so the names continue to work as before. Changes affecting code internals zic -c now runs way faster on 64-bit hosts when given large numbers. zic now uses vfprintf to avoid allocating and freeing some memory. tzselect now computes the list of continents from the data, rather than have it hard-coded. Minor changes pacify GCC 4.7.3 and GCC 4.8.1. Changes affecting the build procedure The 'leapseconds' file is now generated automatically from a new file 'leap-seconds.list', which is a copy of <ftp://time.nist.gov/pub/leap-seconds.list>. A new source file 'leapseconds.awk' implements this. The goal is simplification of the future maintenance of 'leapseconds'. When building the 'posix' or 'right' subdirectories, if the subdirectory would be a copy of the default subdirectory, it is now made a symbolic link if that is supported. This saves about 2 MB of file system space. The links America/Shiprock and Antarctica/South_Pole have been moved to the 'backward' file. This affects only nondefault builds that omit 'backward'. Changes affecting documentation and commentary Changes to the 'tzfile' man page It now mentions that the binary file format may be extended in future versions by appending data. It now refers to the 'zdump' and 'zic' man pages. Changes to the 'zic' man page It lists conditions that elicit a warning with '-v'. It says that the behavior is unspecified when duplicate names are given, or if the source of one link is the target of another. Its examples are updated to match the latest data. The definition of white space has been clarified slightly. (Thanks to Michael Deckers.) Changes to the 'Theory' file There is a new section about the accuracy of the tz database, describing the many ways that errors can creep in, and explaining why so many of the pre-1970 time stamps are wrong or misleading (thanks to Steve Allen, Lester Caine, and Garrett Wollman for discussions that contributed to this). The 'Theory' file describes LMT better (this follows a suggestion by Guy Harris). It refers to the 2013 edition of POSIX rather than the 2004 edition. It's mentioned that excluding 'backward' should not affect the other data, and it suggests at least one zone.tab name per inhabited country (thanks to Stephen Colebourne). Some longstanding restrictions on names are documented, e.g., 'America/New_York' precludes 'America/New_York/Bronx'. It gives more reasons for the 1970 cutoff. It now mentions which time_t variants are supported, such as signed integer time_t. (Thanks to Paul Goyette for reporting typos in an experimental version of this change.) (Thanks to Philip Newton for correcting typos in these changes.) Documentation and commentary is more careful to distinguish UT in general from UTC in particular. (Thanks to Steve Allen.) Add a better source for the Zurich 1894 transition. (Thanks to Pierre-Yves Berger.) Update shapefile citations in tz-link.htm. (Thanks to Guy Harris.)
2013-08-06CID 1060853: Negative array index read (REVERSE_NEGATIVE)christos
2013-07-30Don't depend on implicit rounding from non-integral float constant.joerg
2013-07-22 Both increment_overflow() and normalize_overflow() have two differentmsaitoh
declarations. One must be *32(). Fixes compile error observed on sparc64.
2013-07-17remove "register" in new codechristos
fix backwards check for overflow
2013-07-17welcome to 2013dchristos
2013-05-17Provide explicit LC_C_LOCALE accessor and drop the various NULL checks.joerg
Provide LC_GLOBAL_LOCALE in a way that works with all locale functions. Merge constant data used by the initial global locale and the C locale. Drop function call layer for _current_locale() and directly return the locale reference, not a pointer to it. Use protected access for global variables, so that libc references can avoid the GOT overhead.
2013-05-08welcome to 2013c!christos
2013-04-21Store time-specific locale data directly in the locale.joerg
Ad dstrftime_l, strftime_lz and strptime_l.
2013-03-16apply 2013bchristos
2013-03-06Overly aggressive long->zic_t conversion.christos
I should add zic_t to the dictionary instead.
2013-03-06change %ld to %jdchristos
2013-03-06- change zic_t to intmax_t and friends suggested by apbchristos
- change long to zic_t suggested by Paul Eggert - remove unused constants
2013-03-04usage is dead.joerg
2013-03-02but don't lose our own extensionschristos
2013-03-02use correct types.christos
2013-03-02resolve more diffchristos
2013-03-02update to tzcode2013achristos
2013-01-31include private.h to get access to TM_GMTOFFchristos
2013-01-19Document the fact that ctime_rz, localtime_rz, and mktime_z,apb
accept a NULL timezone_t pointer as a reference to UTC, and the fact that tzalloc accepts a NULL zone name.
2012-12-14And two more pastos in examples: December and January are in standard EST,uwe
not daylight saving EDT.
2012-12-14Fix two more pastos in examples.uwe
2012-12-14Fix pasto in example template.uwe
2012-12-14Use .Vt for types. Don't use .Pq - it formats funny in PostScript anduwe
plain parens do just fine here.
2012-12-14Fix table formatting.uwe
2012-12-14Fixed a typo within the exampleskhorben
2012-10-28add a cast to appease the compat build.christos
2012-10-28welcome to tzcode2012h via patch.christos
2012-10-26stronger lint foochristos
2012-10-26- whitespacechristos
- s/consttmp/const tmp/ - sync comments - don't save errno where it is not needed - consistent lint comments
2012-10-26consistent lint commmentschristos
2012-10-26remove unused constantchristos
2012-10-26remove registerchristos
2012-10-25Revert previous - casting to long is a bad idea, as the value will overflow.martin
Pointed out by apb.
2012-10-25Add a few casts to avoid (IMHO bogus) gcc warnings breaking the vax build.martin
2012-10-24remove error(1) output.christos
2012-10-24apply 2012g via patchchristos
2012-08-09merge 2012echristos
2012-06-25Update old-style definitions to ANSI, remove a couple of registerabs
definitions along the way. Fixed gcc 4.1 build (thank you vax)
2012-04-06Fix typo, from Bug Hunting.wiz
2012-03-20Remove use of __Pmatt
Switch to using C89 definitions.
2012-03-13PR/45989: Martin Husemann: lint invocation does include -w only on i386christos
- turn lint -w for all the platforms after fixing the lint warnings. - add _DIAGASSERTS() for casts that would assign values to types that would not fit. - change types, add casts - change into ansii prototypes - turn on _DIAGNOSTIC for libc (during current, to be eliminated for release builds) approved by core@
2012-02-25Xref zdump(8). OK by wiz@shattered
2012-01-07Do not force errno to EOVERFLOW when returning -1 from mktime or friends.martin
First, there are legitimate cases where we want to return -1 and errno == 0, second, all paths go through time1() and/or time2sub() which explicitly take care to set errno in cases of real overflows. Should fix atf test failure on various ports in lib/libc/time/t_mktime:timegm_epoch.
2011-11-08Change the way that we compute the time when we fall in the dst gap: insteadchristos
of supplying just the high bound and thus losing minutes and seconds, add the DST offset to the struct tm (since we know we are going to move ahead since we fell in the gap), and try again.