summaryrefslogtreecommitdiff
path: root/libc/misc/wchar/wchar.c
AgeCommit message (Collapse)Author
2008-09-29i18n: Fix mbrtowc function to handle 0xc0 and 0xc1 sequence.Carmelo Amoroso
When the first byte of the multibyte sequence start with 0xc0 or 0xc1, the whole sequence is invalid, so the return value must be -1 (instead of -2). Fix bug #686. Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Acked-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2008-09-09Fix some locale multibyte tests failures ad below:Carmelo Amoroso
libc/stdlib/_strtod.c -> tst_wcstod; libc/stdlib/stdlib.c -> tst_mblen, tst_mbtowc, tst_wctomb; libc/stdio/_scanf.c -> tst_swscanf; libc/string/strncmp.c -> tst_wcsncmp; libc/misc/wchar/wchar.c -> tst_mbrlen, tst_mbrtowc, tst_wcswidth. Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2008-08-27- remove a couple of duplicate includesBernhard Reutner-Fischer
2008-07-23- trim any trailing whitespaceBernhard Reutner-Fischer
2008-06-04This fixes a problem with the move of libc_hidden_proto to string.h.Bernd Schmidt
The obsolete functions bcopy, index, etc. are not supposed to be used within uClibc itself. Hence, there is no libc_hidden_def for them, but the previous patch did not just move libc_hidden_protos, it also added new ones for the legacy functions. As a result, programs which use these functions can no longer link with uClibc. This fixes it by removing the unnecessary libc_hidden_protos. I've also removed all inclusions of <strings.h> from uClibc source files: since we define _GNU_SOURCE, it is sufficient to include <string.h>. We then do not need to duplicate the libc_hidden_proto block in <strings.h>.
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.
2006-03-23select needs sys/select.h, str[n]casecmp/ffs needs strings.h, if BSD is not ↵Peter S. Mazinger
defined, gettimeofday has other prototype and tm_gmtoff/tm_zone do not exist
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-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
2006-01-05forgot again about iconvPeter S. Mazinger
2006-01-04use internal versions of exit/memcpyPeter S. Mazinger
2005-12-16Remove all trailing ; after *_alias and change 2 to use weak_alias instead ↵Peter S. Mazinger
of __attribute__ ...
2005-12-16memmove, exit are external iconv_mainPeter S. Mazinger
2005-12-16New regex as wellPeter S. Mazinger
2005-12-16Hide C and wchar related stuffPeter S. Mazinger
2005-12-10Remove fread/fwrite/vfprintf redefines, the only user is iconv, being an ↵Peter S. Mazinger
external app
2005-12-10Switch fread/fwrite/fclose/pipe/sigsetmask usersPeter S. Mazinger
2005-12-09Implement hidden poll, switch user to hidden *printf/*scanf/pollPeter S. Mazinger
2005-12-06Correct typo, iconv binary does not use the internal versionsPeter S. Mazinger
2005-12-06Make use internal str*casecmp/wcscollPeter S. Mazinger
2005-12-01Hide mostly used functionsPeter S. Mazinger
2005-11-29Hiding againPeter S. Mazinger
2005-11-28Create and hide __btowc, __mbrtowc, __wcrtombPeter S. Mazinger
2005-11-27Hide some of mem* and str*Peter S. Mazinger
2005-11-21Hide some morePeter S. Mazinger
2005-09-22weaks moved after the related function so gcc4 won't warnPeter S. Mazinger
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-08-18_wchar_utf8sntowcs and _wchar_wcsntoutf8s now set errno if EILSEQ.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.
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-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-09-19Hide my personal #warning reminders. Add __wcschrnul, rename strchrnulManuel Novoa III
to __strchrnul, and add weak aliases for them.
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-08-03When DODEBUG and HAS_WCHAR were enabled and HAS_LOCALE was disabled,Eric Andersen
wchar.c wouldn't compile: wchar.c: In function `__mbsnrtowcs': wchar.c:631: `__ctype_encoding_7_bit' undeclared (first use in this function) This fixes it by keeping the locale specific asserts hidden when not relevant. -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-05-23Multibyte and wide char conversion functions. Some work still to do, butManuel Novoa III
they're quite solid now and Erik needs them for the gcc port. Comments at the head of wchar.c.