Tim J. Robbins
58d38e2520
Style: One space between "restrict" qualifier and "*".
2002-09-06 11:24:06 +00:00
Tim J. Robbins
f0c6c306f9
Set errno to EILSEQ when invalid multibyte sequences are detected
...
(XSI extension to 1003.1-2001).
2002-09-03 01:09:47 +00:00
Tim J. Robbins
d384a6795d
Typo: refer to MB_LEN_MAX instead of MB_CHAR_MAX (which does not exist).
2002-09-01 07:21:58 +00:00
Tim J. Robbins
9771f1e24e
Add restrict qualifiers to the arguments of mbstowcs, mbtowc() and
...
wcstombs().
2002-09-01 07:08:22 +00:00
Tim J. Robbins
a5f76f1911
Implement the XSI extension which allows the destination string to be
...
NULL, and returns the number of bytes that would be required to store
the result of the conversion without storing anything.
PR: 17694
2002-08-31 14:16:12 +00:00
Tim J. Robbins
7438fc3aa8
Split ansi.c into a separate source file for each function.
2002-08-31 11:26:55 +00:00
Andrey A. Chernov
c14170612e
Use ntohl() to read cnains number in new format
2002-08-31 01:05:39 +00:00
Andrey A. Chernov
cbc98d0541
Style fix
2002-08-30 20:39:53 +00:00
Andrey A. Chernov
8e52da4dfc
Prepare for switching to unlimited chains format.
...
Optimize chains lookup a bit.
2002-08-30 20:26:02 +00:00
Mike Barcroft
abbd890233
o Merge <machine/ansi.h> and <machine/types.h> into a new header
...
called <machine/_types.h>.
o <machine/ansi.h> will continue to live so it can define MD clock
macros, which are only MD because of gratuitous differences between
architectures.
o Change all headers to make use of this. This mainly involves
changing:
#ifdef _BSD_FOO_T_
typedef _BSD_FOO_T_ foo_t;
#undef _BSD_FOO_T_
#endif
to:
#ifndef _FOO_T_DECLARED
typedef __foo_t foo_t;
#define _FOO_T_DECLARED
#endif
Concept by: bde
Reviewed by: jake, obrien
2002-08-21 16:20:02 +00:00
Tim J. Robbins
7d77551c77
Add a manual page for wcwidth().
2002-08-20 03:42:21 +00:00
Andrey A. Chernov
c1a0a78d00
Remove wcswidth.c from here (and move it to "string")
2002-08-20 01:59:26 +00:00
Andrey A. Chernov
8077fafd28
Remove space at the end of continuation line in prev. commit
2002-08-20 01:16:06 +00:00
Andrey A. Chernov
f999b4ba69
Implement wcswidth()
2002-08-19 20:46:10 +00:00
Andrey A. Chernov
1da6b56aca
Use modern-style arguments declaration
2002-08-19 20:32:27 +00:00
Andrey A. Chernov
853c779d87
Write null wide-character as L'\0' like in other places
2002-08-19 20:12:38 +00:00
Andrey A. Chernov
1e2cd54448
According to SUSv2, always return 0 for null wide-character code
2002-08-19 18:06:18 +00:00
Andrey A. Chernov
9424df445a
Move internal defines from ctype.h here
2002-08-19 09:02:49 +00:00
Tim J. Robbins
e92a3d83fc
Implement the ISO C90 Amd.1 restartable wide and multibyte character
...
manipulation functions mbrlen(), mbrtowc(), mbsinit(), mbsrtowcs(),
wcrtomb(), wcsrtombs().
2002-08-18 06:30:10 +00:00
Andrey A. Chernov
d8d0cebecd
Move wcwidth() to separate file, it doesn't belong to iswctype.c at all
2002-08-17 20:30:34 +00:00
Andrey A. Chernov
1c15ec1eab
According to SUSv2, wcwidth() should return -1 for non-printing characters
2002-08-17 20:11:31 +00:00
Andrey A. Chernov
88c669d2ea
Cosmetic - remove unneded brackets and #undef
2002-08-17 20:03:44 +00:00
Andrey A. Chernov
c87e6b26b0
wcwidth: fix espression to work correctly with SWIDTH0
2002-08-17 14:16:14 +00:00
Michael C . Wu
dff784192b
Add iswctype wcwidth function code
...
Submitted by: clkao@clkao.org
Reviewed by: keichii
Obtained from: NetBSD
MFC after: 1 month
2002-08-16 13:45:23 +00:00
Andrey A. Chernov
a2a26d0a3d
Reduce BSS size for programs which not load collate by eliminating
...
static buffer.
2002-08-13 14:55:17 +00:00
Andrey A. Chernov
e34fe8a408
Now malloc() is fixed, remove errno hardcoding to ENOMEM
2002-08-12 17:14:04 +00:00
Andrey A. Chernov
ec5ca2eba7
Add safeguards to never use errno == 0 as setrunelocale() error return code
2002-08-09 08:22:29 +00:00
Andrey A. Chernov
76692b8025
Rewrite locale loading procedures, so any load failure will not affect
...
currently cached data. It allows a number of nice things, like: removing
fallback code from single locale loading, remove memory leak when LC_CTYPE
data loaded again and again, efficient cache use, not only for
setlocale(locale1); setlocale(locale1), but for setlocale(locale1);
setlocale("C"); setlocale(locale1) too (i.e. data file loaded only once).
2002-08-08 05:51:54 +00:00
Andrey A. Chernov
57473ad215
Reset __mb_cur_max to 1 when "C" or "POSIX" locales loaded after multibyte one
2002-08-07 20:49:25 +00:00
Andrey A. Chernov
45206d5c69
Fix wrong address when EucInfo > "variable" size
2002-08-07 20:20:56 +00:00
Andrey A. Chernov
6892b144e8
Style fixes in preparation for rewritting
2002-08-07 18:02:45 +00:00
Andrey A. Chernov
ecc4c62066
Style fixes in preparation of code rewritting
2002-08-07 16:45:23 +00:00
Tim J. Robbins
71a63bac1b
Build iswctype.c and manual pages for the functions it defines.
2002-08-06 00:49:59 +00:00
Tim J. Robbins
677adc79c2
Add missing prototypes for extension functions to the SYNOPSIS.
2002-08-05 11:02:04 +00:00
Tim J. Robbins
21b7821a9e
Use In macro instead of Fd. Add crossref to wctype(3). Refer to 1003.1-2001
...
in STANDARDS section. Document functions which are extensions to the standard.
2002-08-05 10:50:39 +00:00
Tim J. Robbins
15c57797bb
Use the In macro instead of Fd. Add crossref to wctrans(3). Refer to
...
1003.1-2001 in STANDARDS section.
2002-08-05 10:48:05 +00:00
Tim J. Robbins
6b44a04d1c
Implement the missing <wctype.h> functions: isw*() (iswalnum() etc.),
...
towlower() and towupper() required by ISO C90 Amd. 1.
iswascii(), iswhexnumber(), iswideogram(), iswnumber(), iswphonogram(),
iswrune() and iswspecial() have also been implemented for consistency
with the BSD extensions in <ctype.h>.
2002-08-05 10:45:23 +00:00
Andrey A. Chernov
3a317a1229
Reject encoding > ENCODING_LEN at early stage instead of truncating it.
...
Use ptr == NULL instead of !ptr in few places.
Move saverr declaration to global section.
2002-08-05 09:58:45 +00:00
Tim J. Robbins
008a2c53ce
Manual pages for wide character classification (isw*) and case conversion
...
(tow*) functions from NetBSD, unmodified except for the addition of $FreeBSD$.
Obtained from: NetBSD
2002-08-05 08:04:58 +00:00
Tim J. Robbins
4bd5585fbd
Change wctype_t to an unsigned type to avoid warnings.
2002-08-04 12:43:53 +00:00
Tim J. Robbins
4645079944
Add the ISO C90 Amd. 1 wctrans(3) and towctrans(3) functions.
2002-08-04 12:09:08 +00:00
Tim J. Robbins
92ece88d16
Add btowc(3) to SEE ALSO section.
2002-08-04 11:02:21 +00:00
Andrey A. Chernov
f75bb0aa25
Use errno to indicate failure reason.
...
Remove incomplete checks for 'name' and 'PatchLocale', they must be
already checked at this point.
2002-08-04 09:37:28 +00:00
Bruce Evans
1a2140f531
Fixed some style bugs (unsorting of MLINKS, and more than 1 assignment to
...
MAN per section).
2002-08-04 07:54:41 +00:00
Andrey A. Chernov
10bc1114ce
Rewrite loadlocale() to eliminate LOAD_CATEGORY macro to save space.
2002-08-04 04:29:54 +00:00
Andrey A. Chernov
9bb322433e
Add ERRORS section according to POSIX (no errors)
2002-08-03 17:20:45 +00:00
Andrey A. Chernov
2f6754febb
Catch empty encoding name too
2002-08-03 17:09:21 +00:00
Andrey A. Chernov
40b97dcb2a
Fix return codes to match what setrunelocale() returns
2002-08-03 16:26:47 +00:00
Andrey A. Chernov
5740f28044
Preserve errno in fallback code
2002-08-03 15:56:25 +00:00
Tim J. Robbins
e9fb70115f
Add ISO C90 Amd. 1 btowc(3) and wctob(3) functions.
2002-08-03 13:49:55 +00:00