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
Tim J. Robbins
196099d661
Correct use of Nm macro in NAME section and a broken cross reference.
2002-08-03 12:39:41 +00:00
Andrey A. Chernov
710d708144
Return errno provided by fopen, not always ENOENT.
...
Return EFTYPE instead of EINVAL for wrong locale file format.
Whitespaces.
2002-08-03 11:55:19 +00:00
Andrey A. Chernov
256ddd5999
Check encoding for ".", ".." and / inside
2002-08-03 10:23:06 +00:00
Andrey A. Chernov
5568219d15
Return EINVAL for NULL or too long encoding, not EFAULT
2002-08-03 09:10:31 +00:00
Andrey A. Chernov
83c9580dbb
Return ENAMETOOLONG for long PATH_LOCALE, not EFAULT
2002-08-03 09:07:27 +00:00
Andrey A. Chernov
a17eafe2a8
1) Use errno to indicate faulure reason.
...
2) Move incomplete check for / in locale name from env section to
loadlocale(), add check for "." and ".." too.
It allows to check any argument, not env only.
3) Redesing LOAD_CATEGORY macro to eliminate code duplication.
4) Try harder in fallback code: if old locale can't be restored,
load "C" locale
5) White space formatting, long lines, etc.
2002-08-03 09:04:44 +00:00
Tim J. Robbins
5b32667c57
Add ISO C90 Amd. 1 wctype(3) and iswctype(3) functions.
2002-08-03 04:18:40 +00:00
Andrey A. Chernov
4e7b46d8e2
Sligtly modify previous out-of-bounds fix: just break instead of
...
return(NULL) for upward compatibility with more LC_* categories may be
implemented in future.
2002-08-02 13:36:54 +00:00
Andrey A. Chernov
ef1e7a2656
Prevent out of bounds writting for too many slashes case.
...
Replace strnpy + ='\0' with strlcpy
MFC after: 1 day
2002-08-02 01:04:49 +00:00