summaryrefslogtreecommitdiff
path: root/libc/misc/locale/locale.c
AgeCommit message (Collapse)Author
2017-07-28fix tolower and localesEugene Yudin
The function towlower doesn't work with locales different from C. Issue was introduced in commit: 8cde3a9bf2856dcb9a759dec7ecb04a68e712254 Call to setlocale is needed for correct generation of the table uplow_diff. Otherwise you receive compile time error "range assumption error" after uncommenting the call. Similar problem described here: http://lists.uclibc.org/pipermail/uclibc/2015-March/048852.html This commit fix the problem by using int32_t values.
2016-09-26locale: cleanup supportWaldemar Brodkorb
Enable locale application to be build when utils are build. Remove useless compile and link warnings. Default to minimal locale builds. Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2016-06-01remove MJN only debug messagesWaldemar Brodkorb
2012-11-18Replace FSF snail mail address with URLsMike Frysinger
This matches a similar change made to glibc. No functional changes here. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-06-15errno and *_init cleanupPeter S. Mazinger
Define a common view of __errno_location, __h_errno_location in common header and use that everywhere, __uClibc_main.c is no special. The rule adopted: for enabled threads we make in libc the __GI_x() variants strong, x() weak and (should) provide another strong x() in libpthread. If threads are disabled, even the __GI_x() variants are weak. _stdio_init,_stdio_term,_locale_init: make all hidden weak in common header Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15locale.c, uClibc_locale.h: provide hidden __curlocale[_set]Peter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15do not include xlocale.h, it is included by locale.h when neededPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-04-17locale: avoid segfault freelocale()Bernhard Reutner-Fischer
PR 4964 Eric Nadler writes: It looks to me like the base structure is not fully initialized with 0 (only a subset of the structure is initialized). This later results in a free of base->collate.index2weight in _locale_set_l. This free tries to free uninitialized memory and segfaults. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-03-07locale.c: export newlocale only if XLOCALE is definedPeter S. Mazinger
newlocale is used by setlocale, so we need the hidden version even if XLOCALE is not defined Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-07locale.c, locale.h: no need for hidden duplocalePeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03update some headersPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2009-09-18convert // comments to /**/; remove empty #if/#endif pairs. no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-18trim Experimentally off and uncommented hiddenBernhard Reutner-Fischer
sed -i -e '/Experimentally off - /d' $(grep -rl "Experimentally off - " *) sed -i -e '/^\/\*[[:space:]]*libc_hidden_proto(/d' $(grep -rl "libc_hidden_proto" *) should be a nop Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-01-21*: remove __UCLIBC_CURLOCALE_DATA, __UCLIBC_CURLOCALE_DATA.xDenis Vlasenko
is always equivalent to __UCLIBC_CURLOCALE->x. remove typedef __uclibc_locale_t, it used only in a few places, it is lees confusing to use struct __uclibc_locale_struct everywhere. xlocale.h: hide __global_locale back under _LIBC, bug 53 is wrong in claiming it should be exported. Also hide under _LIBC: extern __locale_t __curlocale_var; extern __locale_t __curlocale(void); extern __locale_t __curlocale_set(__locale_t newloc); # define __UCLIBC_CURLOCALE # define __XL_NPP(N) # define __LOCALE_PARAM # define __LOCALE_ARG # define __LOCALE_PTR
2008-12-21more of warning fixes, mostly pointer signedness mismatchesDenis Vlasenko
2008-12-20libc/misc/locale/locale.c: heed a pile of warningsDenis Vlasenko
from signed/unsigned char conversions
2008-12-20libc/misc/locale/locale.c: remove one unneeded static data,Denis Vlasenko
rewrite one exceptionally unreadable loop. Heed a few warnings (wrong type for string op params) text data bss dec hex filename - 1164 16 0 1180 49c libc/misc/locale/newlocale.os + 1180 0 0 1180 49c libc/misc/locale/newlocale.os - 494480 2751 15684 512915 7d393 lib/libuClibc-0.9.30-svn.so + 494472 2735 15684 512891 7d37b lib/libuClibc-0.9.30-svn.so
2008-11-20Last portion of libc_hidden_proto removal.Denis Vlasenko
Appears to build fine (several .configs tried)
2008-11-20next portion of libc_hidden_proto removalDenis Vlasenko
2008-11-18libc_hidden_proto removal, a few more functionsDenis Vlasenko
2008-11-18libc_hidden_proto removal, just a few functionsDenis Vlasenko
2008-10-31- whitespace fixesBernhard Reutner-Fischer
2008-07-23- trim any trailing whitespaceBernhard Reutner-Fischer
2008-05-19Moving libc_hidden_proto's into #ifdef UCLIBC_INTERNAL blockDenis Vlasenko
in string.h and strings.h. This caught unguarded string ops in libc/inet/ethers.c __ether_line_w() function. I will wait for fallout reports for a week or so, then continue converting more libc_hidden_proto's.
2008-05-19Added a bounch of locale fixes.Carmelo Amoroso
* extra/locale/gen_wc8bit.c: use strrchr to parse locale name to handle the case in which it contains a '.' character like ANSI_X3.4-1968 * include/locale.h: use __UCLIBC_HAS_XLOCALE__ to control inclusion of xlocale.h only * libc/misc/ctype/ctype.c: add missing weak_alias for __tolower_l and __toupper_l * libc/misc/locale/locale.c: use strcasecmp (case insensitive) for utf-8 locale name. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2006-03-22Correct build if UCLIBC_HAS_CTYPE_TABLES is not definedPeter S. Mazinger
2006-03-22Mark some functions as GNU, provide missing hidden memmem, remove ↵Peter S. Mazinger
_ISOC99/XOPEN_SOURCE
2006-03-10Remove all non-constant libc_hidden_data_def(), it is too unreliable, sorry, ↵Peter S. Mazinger
most of global data relocations are back
2006-02-01global data uses libc_hidden_data_def, convert all -I hope- and add some newPeter S. Mazinger
2006-01-30some more prototypesPeter S. Mazinger
2006-01-29Patch by Joseph S. Myers to add support for ARM EABIMike Frysinger
2006-01-22Enable _GNU_SOURCE build wide, trying to get consistent interfaces, else IMA ↵Peter S. Mazinger
is a useless attempt
2006-01-16Last relocs jump and global data, (even locales) that I could remove are ↵Peter S. Mazinger
gone from libc. The remaining are left as exercise for others ;-)
2006-01-14make DODEBUG=y happy, update sysdeps/common/* copyrightPeter S. Mazinger
2006-01-14hidden_def/hidden_proto: convert all users (I hope) termios split, add some ↵Peter S. Mazinger
missing headers, other jump relocs removed
2005-12-16Hide localesPeter S. Mazinger
2005-12-13Convert all users of earlier hiddensPeter S. Mazinger
2005-12-09Do __nl_langinfo, partly sync header w/ glibc, add missing nl_langinfo_l, ↵Peter S. Mazinger
change users to hidden version
2005-12-03More hiding, including __mempcpyPeter S. Mazinger
2005-12-01Hide mostly used functionsPeter S. Mazinger
2005-11-29Hiding againPeter S. Mazinger
2005-11-27Hide some of mem* and str*Peter S. Mazinger
2004-09-10Hide some x86-specific devel asserts.Manuel Novoa III
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.
2003-12-14Fix a couple of 'declaration after statement' errors.Manuel Novoa III
2003-09-01Hack around bg_BG bug; grouping specified but no thousands separator.Manuel Novoa III
Also, disable the locale link_warnings for now, as they generate a lot of noise when using libstd++.
2003-08-28Create a typedef for the ctype bitmask table entries.Manuel Novoa III
Hack a fix for ctype support of 8-bit codeset locales. Note: toupper/tolower mappings do not handle the special cases for the tr_TR and az_AZ locales, since the wide versions currently handle them either. That will be addressed when I rewrite the data generation tools and the libc locale code.
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-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.