summaryrefslogtreecommitdiffstats
path: root/libc/misc/time/time.c
Commit message (Collapse)AuthorAgeFilesLines
* Hopefully fix the struct tm extension problem once and for all.Manuel Novoa III2003-11-021-22/+65
| | | | Also fix a dst-related bug which caused the use of uninitialized data.
* Apply a trivial patch that doesn't change anything, but which is alledged toEric Andersen2003-10-081-1/+1
| | | | workaround a toolchain specifi bug for the e1.
* Fix a few bugs in the new extended locale functions.Manuel Novoa III2003-08-241-2/+6
| | | | | | | | | Move stub gettext functions to a stub libintl to make switching in gnu gettext easier. Also add a few gnu-isms. Change to using hidden names with global weak aliases for the extended locale functions, as expected by libstd++. Slightly rework the locale data generation stuff to allow pregenerated locale data to be used with buildroot.
* Add a new *scanf implementation, includeing the *wscanf functions.Manuel Novoa III2003-08-011-72/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Should be standards compliant and with several optional features, including support for hexadecimal float notation, locale awareness, glibc-like locale-specific digit grouping with the `'' flag, and positional arg support. I tested it pretty well (finding several bugs in glibc's scanf in the process), but it is brand new so be aware. The *wprintf functions now support floating point output. Also, a couple of bugs were squashed. Finally, %a/%A conversions are now implemented. Implement the glibc xlocale interface for thread-specific locale support. Also add the various *_l(args, locale_t loc_arg) funcs. NOTE!!! setlocale() is NOT threadsafe! NOTE!!! The strto{floating point} conversion functions are now locale aware. The also now support hexadecimal floating point notation. Add the wcsto{floating point} conversion functions. Fix a bug in mktime() related to dst. Note that unlike glibc's mktime, uClibc's version always normalizes the struct tm before attempting to determine the correct dst setting if tm_isdst == -1 on entry. Add a stub version of the libintl functions. (untested) Fixed a known memory leak in setlocale() related to the collation data. Add lots of new config options (which Erik agreed to sort out :-), including finally exposing some of the stripped down stdio configs. Be careful with those though, as they haven't been tested in a long time. (temporary) GOTCHAs... The ctype functions are currently incorrect for 8-bit locales. They will be fixed shortly. The ctype functions are now table-based, resulting in larger staticly linked binaries. I'll be adding an option to use the old approach in the stub locale configuration.
* Optionally support the struct tm extension fields.Manuel Novoa III2003-06-171-11/+39
| | | | | | | Add a few misc functions mentioned in time.h. Revert davidm's change regarding using a define for the "/etc/TZ" path, as this is eventually meant to be a configurable extension and not unconditionally supported.
* Use a define for the path to /etc/TZDavid McCullough2003-02-171-1/+2
|
* Fix bug in setting daylight and timezone when no (valid) TZ.Manuel Novoa III2002-11-271-3/+5
| | | | Bug reported by Arne Bernin <arne@alamut.de> in regards to freeswan.
* Ok... here's the summary:Manuel Novoa III2002-11-221-0/+7
| | | | | | | | | | | | | | Hopefully locale support will build when cross compiling now. Collation is still not supported, but that's what I'm currently working on. In the next couple of days, I'll probably put up a couple of files for download that will save people the trouble of generating all the glibc locales. Added *wprintf functions, although they currently don't support floating point. That will be fixed when I rewrite _dtostr... or possibly before. Added the wcsto{inttype} functions. Added iconv() and a mini iconv utility. The require locale support and only provide for conversions involving the various unicode encodings { UCS-4*, UCS-2*, UTF-32*, UTF-16*, UTF-8 }, the 8-bit codesets built with the locale data, and the internal WCHAR_T.
* Allow timezone info to be specified in a file... /etc/TZ. Turned on byManuel Novoa III2002-10-281-3/+132
| | | | | | | | | | | | | | default for now. From the comments... * Defining __TIME_TZ_FILE causes tzset() to attempt to read the TZ value * from the file /etc/TZ if the TZ env variable isn't set. The file contents * must be the intended value of TZ, followed by a newline. No other chars, * spacing, etc is allowed. As an example, an easy way for me to init * /etc/TZ appropriately would be: echo CST6CDT > /etc/TZ Also optimized timezone setting when the timezone string hasn't changed, as well as fixed a minor buglet wrt SUSv3-allowed chars in TZ std and dst fields.
* Revert commit by davidm to printf.c that initialized conv_numManuel Novoa III2002-08-121-2/+3
| | | | | | | | | needlessly. To do so increases the generated code size with bcc. Eliminate duplicate define warnings in wstring.c. Fix potentially broken preprocessor comparisons. The preprocessor converts integers to maximal signed type, so inequality comparisons involving UINTMAX_MAX, ULLONG_MAX, and (if no long long) ULONG_MAX were potentially broken.
* Clean up CLK_TCK situation. clock() and sysconf() now use anManuel Novoa III2002-07-151-13/+18
| | | | | | arch-specific constant value defined in bits/uClibc_clk_tck.h. Default is 100 (common/bits) but alpha uses 1024 following glibc. Override per arch as necessary.
* Enable WCHAR support for C/POSIX stub locales.Manuel Novoa III2002-07-031-4/+1
| | | | | | Implemented unformatted wide i/o functions. (ungetwc still needs testing) Fix a few bugs in wchar.c. Modifications for bcc/elks support.
* Add in thread locking for tzset() and associated data. Also, fix a bug soManuel Novoa III2002-06-181-5/+42
| | | | that localtime_r() calls tzset() to initialize/update timezone data.
* Commit the new time stuff, even though I haven't made it threadsafe yet.Manuel Novoa III2002-06-171-0/+1864
| | | | At least people can play with it. Also, fix a buglet in setenv.c.
* time() is implemented in syscalls.cEric Andersen2002-06-151-38/+0
| | | | -Erik
* Add missing time()Eric Andersen2001-04-181-0/+38