summaryrefslogtreecommitdiff
path: root/libc/misc/time/time.c
AgeCommit message (Collapse)Author
2004-05-08Change clock() to allow wrapping.Manuel Novoa III
Add timegm() function. Make lookup_tzname() static (as it should have been). Have strftime() get timezone information from the passed struct for the %z and %Z conversions when using struct tm extensions.
2004-02-11New stdio core. Should be more maintainable. Fixes a couple of bugs.Manuel Novoa III
Codepaths streamlined. Improved performance for nonthreaded apps when linked with a thread-enabled libc. Minor iconv bug and some locale/thread related startup issues fixed. These showed up in getting a gcj-compiled java helloworld app running. Removed some old extension functions... _stdio_fdout and _stdio_fsfopen.
2004-01-14Add a dummy (always fails) wcsftime. This is needed for the libstdc++ localeManuel Novoa III
implementation to build. Later this month I'll add a functional wcsftime.
2003-12-27Fix a long-standing bug with pthreads. A couple of linuxthreads filesManuel Novoa III
were including libc-lock.h which had a bunch of weak pragmas. Also, uClibc supplied a number of no-op weak thread functions even though many weren't needed. This combined result was that sometimes the functional versions of thread functions in pthread would not override the weaks in libc. While fixing this, I also prepended double-underscore to all necessary weak thread funcs in uClibc, and removed all unused weaks. I did a test build, but haven't tested this since these changes are a backport from my working tree. I did test the changes there and no longer need to explicitly add -lpthread in the perl build for perl to pass its thread self tests.
2003-12-14Fix some dst issues in _time_mktime().Manuel Novoa III
Normalize the tm_isdst value to -1, 0, or 1. If no dst for this timezone, then reset tm_isdst to 0.
2003-11-16I forgot to update the thread locking in the last dst fix.Manuel Novoa III
2003-11-02Hopefully fix the struct tm extension problem once and for all.Manuel Novoa III
Also fix a dst-related bug which caused the use of uninitialized data.
2003-10-08Apply a trivial patch that doesn't change anything, but which is alledged toEric Andersen
workaround a toolchain specifi bug for the e1.
2003-08-24Fix a few bugs in the new extended locale functions.Manuel Novoa III
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.
2003-08-01Add a new *scanf implementation, includeing the *wscanf functions.Manuel Novoa III
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.
2003-06-17Optionally support the struct tm extension fields.Manuel Novoa III
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.
2003-02-17Use a define for the path to /etc/TZDavid McCullough
2002-11-27Fix bug in setting daylight and timezone when no (valid) TZ.Manuel Novoa III
Bug reported by Arne Bernin <arne@alamut.de> in regards to freeswan.
2002-11-22Ok... here's the summary:Manuel Novoa III
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.
2002-10-28Allow timezone info to be specified in a file... /etc/TZ. Turned on byManuel Novoa III
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.
2002-08-12Revert commit by davidm to printf.c that initialized conv_numManuel Novoa III
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.
2002-07-15Clean up CLK_TCK situation. clock() and sysconf() now use anManuel Novoa III
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.
2002-07-03Enable WCHAR support for C/POSIX stub locales.Manuel Novoa III
Implemented unformatted wide i/o functions. (ungetwc still needs testing) Fix a few bugs in wchar.c. Modifications for bcc/elks support.
2002-06-18Add in thread locking for tzset() and associated data. Also, fix a bug soManuel Novoa III
that localtime_r() calls tzset() to initialize/update timezone data.
2002-06-17Commit the new time stuff, even though I haven't made it threadsafe yet.Manuel Novoa III
At least people can play with it. Also, fix a buglet in setenv.c.
2002-06-15time() is implemented in syscalls.cEric Andersen
-Erik
2001-04-18Add missing time()Eric Andersen