summaryrefslogtreecommitdiff
path: root/libc/misc
AgeCommit message (Collapse)Author
2003-08-17Fix a cut-and-paste error. Collation should be working again.Manuel Novoa III
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-30Yield to yet another glibc-ism and add __prognameEric Andersen
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-04-29uClibc 0.9.19 has a bug in globfree(). If the previous call toEric Andersen
glob(...,pglob) used the GLOB_DOOFFS flag to reserve the first pglob->gl_offs slots of pglob->gl_pathv, globfree(pglob) would attempt to free the objects pointed to by those slots. If those objects were not on the heap, the system would crash. The attached patch fixes this. Norm
2003-04-19Patch from Marshall M. Midden:Eric Andersen
It turns out that uClibc's syslog.c does not close sockets when doing retries and when it exits due to errors. This patch fixes it.
2003-02-24Fixup some small issues that show up when large file support is disabledEric Andersen
2003-02-17Use a define for the path to /etc/TZDavid McCullough
2003-02-08Fixup handling of the .note.ABI-tag section so that it is ARM only,Eric Andersen
and so it actually works as intended allowing binaries on ARM to be debugged. -Erik
2003-01-28Fix scandir64 to not free the wrong pieces of memory (which couldEric Andersen
and did cause segfaults) by adjusting the working scandir.c to the the 64 thing. Fix up potential for mismatches between the libc and kernel dirent structures, which could also cause ugly problems. -Erik
2003-01-23Making atexit weak does nothing for dynamicly linked apps. And forEric Andersen
staticly linked apps it entirely prevents destructors from running unless atexit is called for some other reason. So if they enabled ctor/dtor support we need to have a call to the real atexit for dtors to work properly. If people don't want the extra 4k or so of junk in their static apps, they should leave ctor/dtor support disabled. -Erik
2003-01-18Only include lockf64 when large file support is enabled, fixingEric Andersen
a problem noticed by Jeff Mock. Sorry about that. -Erik
2003-01-10Implement lockf64Eric Andersen
-Erik
2002-12-20The big thing is locale dependent collation support.Manuel Novoa III
Also added outdigit support and (legacy) YESSTR/NOSTR support.
2002-12-02Cut and paste error.Manuel Novoa III
2002-12-02Forgot one...Manuel Novoa III
2002-12-02Add hsearch and hsearch_r. Consolidate all functions prototyped inManuel Novoa III
search.h in one directory.
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-23Oops.. left in a bit of debugging code.Manuel Novoa III
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-11-21Doh! As Stefan Allius points out, I forgot to properly reviewEric Andersen
this change.
2002-11-21Patch from Yoshinori Sato to update the h8300 architecture.Eric Andersen
2002-11-14As released in uClibc 0.9.16, regex was being compiled withoutEric Andersen
wide char support, even when the rest of uClibc was. This led to anyone using regex segfaulting... -Erik
2002-11-08Add wcwidth and wcswidth, based on Markus Kuhn's wcwidth of 2002-05-08.Manuel Novoa III
Added some size/speed optimizations and integrated it into my locale framework. Minimally tested at the moment, but the stub C-locale version (which most people would probably be using) should be fine.
2002-11-05Forgot to change btowc and wctob when I changed the wc<->mb functions yesterday.Manuel Novoa III
2002-11-04Add printf wchar support for %lc (%C) and %ls (%S).Manuel Novoa III
Require printf format strings to be valid multibyte strings beginning and ending in their initial shift state, as per the stds. Fixed a bug in _wchar_wcsntoutf8s(). Don't store wcs position if dst is NULL. Also, introduce an awful hack into _wchar_wcsntoutf8s() and wcsrtombs() in order to support %ls in printf. See comments below for details. Change behaviour of wc<->mb functions when in the C locale. Now they do a 1-1 map for the range 0x80-UCHAR_MAX. This is for backwards compatibility and consistency with the stds requirements that a printf format string by a valid multibyte string beginning and ending in it's initial shift state.
2002-11-01Fix a stupid bug.Manuel Novoa III
2002-11-01Reworked setlocale() return values and locale arg processing toManuel Novoa III
be more like glibc. Applications expecting to be able to query locale settings should now work... at the cost of almost doubling the size of the setlocale object code. Fixed a bug in the internal fixed-size-string locale specifier code.
2002-10-31Ok, this commit is _huge_ and its gonna change the world. I'veEric Andersen
been working on a new config system on and off for about 6 months now, but I've never been fully satisfied. Well, I'm finally am happy with the new config system, so here it is. This completely removes the old uClibc configuration system, and replaces it with an entirely new system based on LinuxKernelConf, from http://www.xs4all.nl/~zippel/lc/ As it turns out, Linus has just merged LinuxKernelConf into Linux 2.5.45, so it looks like I made the right choice. I have thus far updated only x86. I'll be updating the other architectures shortly. -Erik
2002-10-28ANSI/ISO C99 requires assert() to write to stderr. This means thatManuel Novoa III
writing to STDERR_FILENO is insufficient, as the user could freopen stderr. It is also insufficient to output to fileno(stderr) since this would fail in the custom stream case. I didn't remove the old code though, as it doesn't use stdio stream functionality and is useful in debugging the stdio code.
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-10-25Fixup dependsEric Andersen
2002-10-25Doh. Add a missing #include to interp.c. I wonder why it used toEric Andersen
work? Perhaps the wrapper bug miles fixed? Regardless this is very much needed. -Erik
2002-10-01This commit contains a patch from Stefan Allius <allius@atecom.com> to changeEric Andersen
how uClibc handles _init and _fini, allowing shared lib constructors and destructors to initialize things in the correct sequence. Stefan ported the SH architecture. I then ported x86, arm, and mips. x86 and arm are working fine, but I don't think I quite got things correct for mips.
2002-09-26Replace _LIBC_REENTRANT with __UCLIBC_HAS_THREADS__Eric Andersen
-Erik
2002-09-19Add gnu obstack support. I still need to implement the obstack_printfManuel Novoa III
and obstack_vprintf, but at least now the reiserfsprogs build.
2002-09-19Hide my personal #warning reminders. Add __wcschrnul, rename strchrnulManuel Novoa III
to __strchrnul, and add weak aliases for them.
2002-09-14Fix a thinko -- I used the wrong symbol to check for LFS support.Eric Andersen
-Erik
2002-09-10Patch from Tiago Marques <tmarques@viaconnect.inf.br> -- fall back toEric Andersen
using SOCK_STREAM if SOCK_DGRAM fails. -Erik
2002-09-09Fixed compile bugs having to do with 64-bit filesystem operations that"Steven J. Hill"
need to be disabled when 'DOLFS' is disabled.
2002-09-03Support fstatvfs64 and statvfs64Eric Andersen
-Erik
2002-09-03Oops. Turns out I broke statvfs() and fstatvfs() back in February,Eric Andersen
when I accidentally changed them unconditionally into the 64 bit versions... Oops. -Erik
2002-08-26Implement missing readdir64_r.cEric Andersen
-Erik
2002-08-25Make shm stuff work properly.Eric Andersen
-Erik
2002-08-19Eliminate wrapping of struct stat and use the kernel versionEric Andersen
directly. Eliminate all the attendant baggage. Fix internal types to match kernel types more closely. -Erik
2002-08-19Add a .note section to make gdb happyEric Andersen
2002-08-19Call the pthread setup junk early if possible.Eric Andersen
2002-08-19Be prepared to call __pthread_initialize_minimalEric Andersen
2002-08-12Fix use of __pthread_once, and fix rpc usage of thread localEric Andersen
storage.... -Erik
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.