summaryrefslogtreecommitdiff
path: root/libc/string
AgeCommit message (Collapse)Author
2003-11-06Add some initial x86 string optimizations. These make no attempt to use niftyEric Andersen
things like mmx/3dnow/etc. These are not inline, and will therefore not be as fast as modifying the headers to use inlines (and cannot therefore do tricky things when dealing with const memory). But they should (I hope!) be faster than their generic equivalents.... More importantly, these should provide a good example for others to follow when adding arch specific optimizations. -Erik
2003-10-18Peter Kjellerstedt writes:Eric Andersen
rm.patch: * Define $(RM) as rm -f in Rules.mak and test/Rules.mak (this is the same definition as gmake uses by default). * Change all occurrences of rm and rm -f into $(RM).
2003-09-11Patch by Atsushi Nemoto <anemo@mba.ocn.ne.jp> to do arch-requiredManuel Novoa III
mapping of signal strings (alpha, mips, hppa, sparc).
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-16Add memmem().Manuel Novoa III
2003-03-03Remove bogus link_warning. It is meaningless and stupid. While theManuel Novoa III
previous committed patch was well-meaning, the #warning it replaced was simply a reminder I accidently left in when implementing strcoll/wcscoll. Besides, strcmp is completely locale invariant.
2003-02-17Patch from Stefan Allius:Eric Andersen
In libc/string/wstring I replaced a '#warning ..' statement by the link_warning macro.
2002-12-20The big thing is locale dependent collation support.Manuel Novoa III
Also added outdigit support and (legacy) YESSTR/NOSTR support.
2002-11-08Added some temporary "stubs" for collation.Manuel Novoa III
strcoll is an alias for strcmp. strxfrm is an alias for strlcpy. wcscoll is an alias for wcscmp. wcsxfrm is implemented as a wchar version of strlcpy. Real locale-dependent implementations are coming soon.
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-01Patch from Stefan Allius <allius@atecom.com>:Eric Andersen
'wcschrnul.o' appeares two times in MOBJW2
2002-09-19Hide my personal #warning reminders. Add __wcschrnul, rename strchrnulManuel Novoa III
to __strchrnul, and add weak aliases for them.
2002-08-27Reimplement sys_errlist[] so that it works on sparc, alpha, and mips.Manuel Novoa III
In my opinion, this is a complete waste of good memory and is only done to avoid the anticipated whining by people who think this libary is named uCglibc. At some point this may become a configurable option. And even then, it may not be available in all configs... for instance when system error messages become locale-dependent.
2002-08-26sparc, alpha, and mips have different errno values than the otherManuel Novoa III
supported platforms. Adjust _susv3_strerror_r function to deal with this. Also fix an error in strerror() wrt invalid errnos. NOTE: sys_errlist and sys_nerr are no longer supported!!!
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-08Remove obsolete code.Manuel Novoa III
2002-07-08Fix a preprocessor buglet. Redo sys_siglist/strsignal/psignal.Manuel Novoa III
2002-07-07Obligatory forgotten file.Manuel Novoa III
2002-07-07Attempt to clean up the strerror_r situation.Manuel Novoa III
2002-07-05Add two missing glibc wide string funcs as well as OpenBSD string funcsManuel Novoa III
strlcat and strlcpy.
2002-07-03Add a weak to make apache happyEric Andersen
-Erik
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-17Implement strerror_r. This is per SuSv3, not glibc which doesEric Andersen
something different. -Erik
2002-06-12Cleanup the mess, remove now obsolete filesEric Andersen
-Erik
2002-06-12Write a new strxfrm that doesn't make function calls. Uses the same logic asEric Andersen
before but unrolls the func calls and thereby eliminates some steps and some bytes. Now adds just 40 bytes to .text. -Erik
2002-05-06New locale support (in development). Supports LC_CTYPE, LC_NUMERIC,Manuel Novoa III
LC_TIME, LC_MONETARY, and LC_MESSAGES for the SUSv3 items. Also, nl_langinfo() when real locale support is enabled. New implementation of ctype.h. New implementation of wctype.h. New implementation of most of the string functions (smaller). New implementation of the wcs/wmem functions. These are untested, but they're also just preprocessor-modified versions ot the corresponding str/mem functions. Tweaked qsort and new bsearch. Stuff still pending: stdlib.h and wchar.h mb<->wc functions. I actually have working versions of the stdlib ones, but the reentrant versions from wchar.h require some reworking. Basic replacement and translit support for wc->mb conversions. (groundwork laid). Simple-minded collate support such as was provided by the previous locale implementation. (mostly done -- 8-bit codesets only) Shared mmaping of the locale data and strerror message text.
2002-04-13Fixed stpncpy() implementation from ManuelEric Andersen
2002-03-12Swap in the new stdio code.Manuel Novoa III
2002-02-26Give the label a ; so compilers have no excuse to whineEric Andersen
2002-02-13Fix copyright messageEric Andersen
2002-02-12Mark Robson noticed that our strcasecmp() behaviour was notEric Andersen
standards compliant. Brian Stafford then provided these new implementations, which apprear to properly follow SUSv2. -Erik
2002-02-02Add in a weak __mempcpy for mempcpy to make certain GNUEric Andersen
programs happy. bother...
2002-01-09Implement mempcpyEric Andersen
2002-01-06Use public interface, not a glibc style private oneEric Andersen
-Erik
2001-12-19Update my email address. I am no longer andersen@lineo.comEric Andersen
2001-12-19Add basename and dirname. Write memrchr.Eric Andersen
-Erik
2001-10-11Add strndup, written by Stefan Soucek <ssoucek@coactive.com>Eric Andersen
2001-09-27Update to accomodate the header file changesEric Andersen
2001-08-11I just wrote a stpncpy() since someone wanted itEric Andersen
2001-08-11I rewrote strcat without any function calls.Eric Andersen
2001-07-06Fix strxfrm, which was broken (thanks to Shaya Potter <spotter@us.ibm.com>Eric Andersen
for noticing, and cleanup a warning. -Erik
2001-07-04Added stpcpy and strcasestr along with some code to test them.David McCullough
2001-06-27Remove nonstandard functions.Manuel Novoa III
2001-06-15Make strrchr not call other string functions. HopefullyEric Andersen
speeding it a bit.
2001-06-12Cleanup the toploevel makefile handing of shared libs. Add weak_aliasEric Andersen
define, and set things up so nasty old coff toolchains can now compile things and should actually work again. -Erik
2001-06-02Add locale-enabled strcoll function from vodz, plus supporting tool.Manuel Novoa III
2001-06-01oops.Eric Andersen
2001-06-01decouple this from strchrEric Andersen
2001-05-12Ok, this should finish off my massive ro-organization. The sourceEric Andersen
tree is less messy now (which helps), all libraries are placed into uClibc/lib when compiling, all libraries now use a consistant mechanism for being built, all libraries use a consistant naming scheme where the lib name includes the uClibc version number, which makes ldconfig happy and willing to work with us. -Erik