Jordan K. Hubbard
3dfdc427f1
Fixes to locale code to properly use indirect pointers in order to prevent
...
memory leaks (fixes bugs earlier purported to be fixed).
Submitted by: Ed Moy <emoy@apple.com>
Obtained from: Apple Computer, Inc.
MFC after: 2 weeks
2003-06-13 00:14:07 +00:00
Andrey A. Chernov
0c7fbc6c40
Remove transition period hack
2003-06-10 01:26:04 +00:00
Andrey A. Chernov
9d793e98ec
Add GBK encoding
...
PR: 51504
Submitted by: Statue <statue@freebsd.sinica.edu.tw>
2003-06-01 15:30:56 +00:00
Ruslan Ermilov
3a5146d9e2
Assorted mdoc(7) fixes.
...
Approved by: re (blanket)
2003-05-22 13:02:28 +00:00
Jacques Vidrine
d05090827f
Back out the `hiding' of strlcpy and strlcat. Several people
...
vocally objected to this safety belt.
2003-05-01 19:03:14 +00:00
Jacques Vidrine
5723e501ab
`Hide' strlcpy and strlcat (using the namespace.h / __weak_reference
...
technique) so that we don't wind up calling into an application's
version if the application defines them.
Inspired by: qpopper's interfering and buggy version of strlcpy
2003-04-29 21:13:50 +00:00
Tim J. Robbins
e3e8878435
When called with s == NULL, behave as if wc == L'\0' as required by the
...
standard.
2003-04-10 09:20:38 +00:00
Andrey A. Chernov
cfcd9a45b5
According to C99 decimal_point can't be the empty string, mention it.
2003-03-20 08:13:34 +00:00
Andrey A. Chernov
befb332a6b
decimal_point can't be "" according to C99, so set it to standard "."
...
in that case.
2003-03-20 08:05:20 +00:00
Tim J. Robbins
542bd65fcb
MFp4: Implementations of the wcstof() and wcstold() functions.
2003-03-13 06:29:53 +00:00
Tim J. Robbins
60bf07bd33
Fix a bad free() call that would occur if some #if 0'd code was used.
2003-02-22 00:06:05 +00:00
Jacques Vidrine
6d7bd75a4e
Whack 28 unused variables.
2003-02-18 13:39:52 +00:00
Philippe Charnier
d649825182
The .Fn function
2003-02-06 11:04:47 +00:00
Jens Schweikhardt
9d5abbddbf
Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
...
especially in troff files.
2003-01-01 18:49:04 +00:00
Ruslan Ermilov
facc67676f
mdoc(7) police: Deal with self-xrefs.
2002-12-24 13:41:48 +00:00
Ruslan Ermilov
2efeeba554
mdoc(7) police: "The .Fa argument.".
2002-12-19 09:40:28 +00:00
Ruslan Ermilov
5c564bae0a
mdoc(7) police: Fixed abuses of the .Ar and .Em macros.
2002-12-18 13:33:04 +00:00
Ruslan Ermilov
1fae73b137
mdoc(7) police: "The .Fn function".
2002-12-18 12:45:11 +00:00
Ruslan Ermilov
db8993ce9e
Capitalize ASCII code names.
...
Approved by: re
2002-12-05 08:50:00 +00:00
Ruslan Ermilov
279062fae1
mdoc(7) police: sweep.
2002-11-29 17:35:09 +00:00
Ruslan Ermilov
92b1f2f7a3
mdoc(7) police: sweep.
2002-11-29 16:42:23 +00:00
Ruslan Ermilov
c51d717f0c
libc_r wasn't so tied to libc for 22 months.
2002-11-18 09:50:57 +00:00
Tim J. Robbins
b18146b4c2
Add cross references to mbrtowc(3) and wcrtomb(3).
2002-11-10 11:14:58 +00:00
Tim J. Robbins
2f5154a2c1
Don't check whether the first byte of the buffer is a null byte when
...
the buffer has zero length (n == 0).
2002-11-10 10:49:14 +00:00
Tim J. Robbins
7183f43d95
Describe the n' and
ps' arguments to mbrlen().
2002-11-09 10:21:01 +00:00
Tim J. Robbins
f4937dbebc
Typo: pointer to -> pointed to
2002-11-09 09:47:06 +00:00
Tim J. Robbins
490eeb06b4
Use wide character ctype functions directly instead of relying on
...
4.4BSD extensions to the single-byte ctype functions.
2002-11-09 05:19:08 +00:00
Tim J. Robbins
39df93ae41
Add a missing return statement for the pwcs == NULL case (XSI extension).
2002-11-09 04:13:26 +00:00
Tim J. Robbins
f6b767e33f
Add two additional references to the See Also section, which contain much
...
better descriptions of UTF-8 and related issues.
2002-10-30 11:49:05 +00:00
Tim J. Robbins
a019c0e525
Remove unnecessary inclusion of <rune.h> to make it obvious that this file
...
does not use the deprecated rune system.
2002-10-29 09:03:57 +00:00
Tim J. Robbins
c5929b304e
Handle boundary cases more correctly; mblen(s, 0) and mbtowc(NULL, s, 0)
...
return -1 regardless of what s points to, mbtowc(&w, s, 1) sets w to a
null wide character when s points to a null byte. This seems to be closer
to what most other implementations do, but the C99 standard contradicts
itself for these cases.
2002-10-28 08:24:46 +00:00
Garrett Wollman
688dfe4533
Do not include <sys/syslimits.h> directly; it is not intended for general
...
consumption.
2002-10-27 17:44:33 +00:00
Tim J. Robbins
b6f33850e0
Style sweep.
2002-10-27 10:41:21 +00:00
Tim J. Robbins
583efa1268
Use an internal buffer for the result when the first argument is NULL.
2002-10-25 13:24:45 +00:00
Tim J. Robbins
9acd2d9b3c
Avoid truncating invalid wide characters that are outside the range of
...
'unsigned char'; signal an error instead.
2002-10-16 11:37:38 +00:00
Tim J. Robbins
0b78986fe2
FA, FB and FC are lead bytes according to recent Microsoft documentation.
2002-10-14 01:50:45 +00:00
Tim J. Robbins
d891f26821
Style changes. Mainly removing excessive whitespace and parens.
2002-10-14 01:46:18 +00:00
Andrey A. Chernov
8a093dade3
Cosmetic: use LCMONETARY_SIZE_{FULL,MIN} defines like in other places
2002-10-12 11:31:07 +00:00
Tim J. Robbins
972baa3747
Add a UTF-8 encoding method, which will eventually replace the antique
...
"UTF2" method. Although UTF-8 and the old UTF2 encoding are compatible
for 16-bit characters, the new UTF-8 implementation is much more strict
about rejecting malformed input and also handles the full 31 bit range
of characters.
2002-10-10 22:56:18 +00:00
Tim J. Robbins
f4da1a754d
Add support for the 6 new C99 struct lconv members dealing with formatting
...
international monetary values: int_p_cs_precedes, int_n_cs_precedes,
int_p_sep_by_space, int_n_sep_by_space, int_p_sign_posn, int_n_sign_posn.
This should not break existing binaries or LC_MONETARY data files.
Reviewed by: ache
MFC after: 1 month
2002-10-09 09:19:28 +00:00
Tim J. Robbins
d9e5246b17
Add a note to the Compatiblity section suggesting that these functions
...
only be used for byte values. Add cross-references to the wide-char
counterparts.
2002-10-06 10:15:38 +00:00
Tim J. Robbins
82f520853b
Remove rants/whines about the rune interface being superior to the
...
ISO C interface.
2002-10-06 06:03:23 +00:00
Tim J. Robbins
bc98899df0
Remove a completely incorrect statement from the Return Values section.
...
Add cross-references to the restartable mulitybte functions (mbrlen(3) etc.)
2002-10-06 05:58:24 +00:00
Tim J. Robbins
17f6e5b0e7
Improve three instances of questionable or confusing grammar.
2002-10-03 14:09:06 +00:00
Tim J. Robbins
28ddc4138c
Add an example.
2002-10-03 14:07:26 +00:00
Tim J. Robbins
b06b097805
Document towlower() and towupper() in separate manual pages instead of
...
trying to confusingly document both on the same page. The new manual pages
are based on tolower(3) and toupper(3) instead of the old towlower(3).
2002-10-03 11:23:06 +00:00
Tim J. Robbins
9981ef2702
Point out that although toupper() and tolower() really accept rune_t's
...
and not just unsigned char's, callers should use towupper() and towlower()
instead when working with wide characters if portability is a concern.
2002-10-03 11:14:00 +00:00
Tim J. Robbins
73d6e4a5a2
towlower() appeared twice in the synopsis; one of the occurrences should
...
have been towupper(). Add towupper() to the Name section while I'm at it.
Obtained from: NetBSD (junyoung)
2002-10-03 10:40:01 +00:00
Tim J. Robbins
f2a67ef1bd
Add an Examples section with an example of how to use the functions.
2002-10-03 08:49:29 +00:00
Tim J. Robbins
03ab141313
Warn when setinvalidrune() is referenced for consistency with the rest
...
of the rune functions (except sgetrune() and sputrune(), which are really
macros).
2002-09-24 09:25:37 +00:00
Tim J. Robbins
1302dabd28
Add the remaining C99 wide character string to integer conversion functions.
...
Restrict qualifiers were added to the existing prototypes in <inttypes.h>
and the typedef for wchar_t was removed.
2002-09-22 08:06:45 +00:00
Tim J. Robbins
530bb9225d
Deprecate the rest of the rune interface.
2002-09-18 06:19:12 +00:00
Tim J. Robbins
7948cae0d2
Mark mbmb(), mbrune(), and mbrrune() as deprecated functions. We want to
...
get applications to move to the ISO C interfaces as well as have the
freedom to replace the rune interfaces with ones that support stateful
conversions some time in the future.
2002-09-18 06:11:21 +00:00
Tim J. Robbins
03b716c4bd
Add wcstod() as a wrapper around strtod(). It does not handle any characters
...
that strtod() does not (alternate digit characters, etc. are not handled).
2002-09-15 08:38:51 +00:00
Tim J. Robbins
528bebffb1
Use the heap instead of the stack to store temporary multibyte string
...
buffers; this is slower but safer for threaded programs where threads
often have relatively low stack size limits.
2002-09-15 08:06:17 +00:00
Tim J. Robbins
3a67d8efd0
Correct type of second argument: it is wchar_t ** restrict,
...
not wchar_t * restrict.
2002-09-12 09:25:27 +00:00
Tim J. Robbins
47794211c8
Add an implementation of wcsftime() (wide character version of strftime()).
2002-09-11 08:57:11 +00:00
Tim J. Robbins
5fd1762445
Add wcstol() and wcstoul(), based on strtol() and strtoul().
2002-09-08 13:27:26 +00:00
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
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
Jeroen Ruigrok van der Werven
eb12e52a25
Remove the hard-coded limit of 3 bytes for EUC encodings.
...
Satoshi NIIMI-san kindly explained that EUC does not limit the byte length to
any arbitrary number.
We now set the limit to the maximum octet length of the codeset and it is
locale-specific.
Submitted by: Yong-Jhen Hong <winard@ms11.url.com.tw>
2002-04-14 10:55:42 +00:00
Dag-Erling Smørgrav
0b759b867a
Install digittoint.3 (forgotten in rev 1.21)
...
PR: docs/26451
Submitted by: Adrian Filipi-Martin <adrian@ubergeeks.com>
2002-04-13 22:32:33 +00:00
Dima Dorfman
62538f5a03
This was recently MFC'd, so it will appear in 4.6.
...
PR: 37018
2002-04-13 04:25:56 +00:00
Jeroen Ruigrok van der Werven
a243e676fe
Fix EUC encoding conversion for codeset 3 and 4 to comply to the specification.
...
PR: 28552
Submitted by: NIIMI Satoshi <sa2c@and.or.jp>
2002-04-07 16:37:15 +00:00
Mark Murray
4cd0119367
Do not use __progname directly (except in [gs]etprogname(3)).
...
Also, make an internal _getprogname() that is used only inside
libc. For libc, getprogname(3) is a weak symbol in case a
function of the same name is defined in userland.
2002-03-29 22:43:43 +00:00
David E. O'Brien
333fc21e3c
Fix the style of the SCM ID's.
...
I believe have made all of libc .c's as consistent as possible.
2002-03-22 21:53:29 +00:00
David E. O'Brien
c05ac53b8b
Remove __P() usage.
2002-03-21 22:49:10 +00:00
Ruslan Ermilov
c8c5079d10
mdoc(7) police: tidy up.
2002-03-18 15:44:27 +00:00
Ruslan Ermilov
dab055db89
bde got caught by mdoc(7) police. :-)
2002-03-15 17:53:20 +00:00
Ruslan Ermilov
9a04350e3d
mdoc(7) police: don't you notice the warnings?
2002-03-15 17:50:21 +00:00
Mike Barcroft
fd8e4ebc8c
o Move NTOHL() and associated macros into <sys/param.h>. These are
...
deprecated in favor of the POSIX-defined lowercase variants.
o Change all occurrences of NTOHL() and associated marcros in the
source tree to use the lowercase function variants.
o Add missing license bits to sparc64's <machine/endian.h>.
Approved by: jake
o Clean up <machine/endian.h> files.
o Remove unused __uint16_swap_uint32() from i386's <machine/endian.h>.
o Remove prototypes for non-existent bswapXX() functions.
o Include <machine/endian.h> in <arpa/inet.h> to define the
POSIX-required ntohl() family of functions.
o Do similar things to expose the ntohl() family in libstand, <netinet/in.h>,
and <sys/param.h>.
o Prepend underscores to the ntohl() family to help deal with
complexities associated with having MD (asm and inline) versions, and
having to prevent exposure of these functions in other headers that
happen to make use of endian-specific defines.
o Create weak aliases to the canonical function name to help deal with
third-party software forgetting to include an appropriate header.
o Remove some now unneeded pollution from <sys/types.h>.
o Add missing <arpa/inet.h> includes in userland.
Tested on: alpha, i386
Reviewed by: bde, jake, tmm
2002-02-18 20:35:27 +00:00
Andrey A. Chernov
831e8f614c
Do not try to convert to char already converted C monetary locale members.
...
Do this conversion on locale load stage instead.
2002-01-28 08:26:38 +00:00
Alexey Zelkin
a2fb0481d7
get __time_load_locale() prototype from include file, rather than declare
...
own
2002-01-24 15:38:59 +00:00
Andrey A. Chernov
ff7448f849
Restore C99 standard conformance information, isblank() _is_ in final
...
standard document
Pointed by: "Jacques A. Vidrine" <n@nectar.cc>
2002-01-22 20:14:35 +00:00
Bruce Evans
afac94af5c
Replaced bogus cross references by the usual one for the ctype family
...
(ctype(3)).
2002-01-11 15:39:50 +00:00
Bruce Evans
87e0032026
Removed assertion that isblank() conforms to C90 too. This assertion
...
is correct but less than useful. There is some uncertainty about whether
isblank() is in C99, but it is certainly not in C90. It just conforms
to C89 because it is a conforming extension.
2002-01-11 15:21:03 +00:00
Bruce Evans
5fb3acfaaf
Fixed unsorting of almost all lists in previous commit.
...
Removed assertion that isblank() is in C99 here too.
2002-01-11 15:15:17 +00:00
Bruce Evans
758671eb0d
Fixed unsorting of MLINKS in previous commit.
...
Fixed unsorting of SRCS in rev.1.18.
2002-01-11 14:57:11 +00:00
Nik Clayton
6a3003ce51
Remove assertion that isblank() is in C99, pointed out by ache.
2002-01-10 12:22:00 +00:00
Nik Clayton
26dabb6003
From the PR:
...
1. ctype.h defines digittoint(), isnumber() and ishexnmber(), yet
they are not documented in any of the manpages.
2. The ctype manpage references a non-existent manpage for
digittoint().
3. The isascii() manpage claims it is standards compliant, when
it isn't.
4. isblank() claims it is _not_ standards compliant, when it
is.
Fix by including the appropriate .Nm entries, and with a new digittoint.3
page.
PR: docs/26451
Submitted by: Adrian Filipi-Martin <adrian@ubergeeks.com>
2002-01-09 13:43:31 +00:00
Alexey Zelkin
0388ec7cac
Back out recent replacement of LC_MESSAGES file with directory.
...
Requested by: ache
2001-12-24 11:49:49 +00:00
Alexey Zelkin
709eed76bd
Slightly re-work locale messages storage scheme. Before this commit
...
LC_MESSAGES related data was installed to <locale>/LC_MESSAGES file.
Now it go to <locale>/LC_MESSAGES/SYS_LC_MESSAGES file. LC_MESSAGES
directory is supposed to be storage of message catalogs of userland tools.
This should allow us to avoid many potential problems with future
libintl related functionality introduction.
Thanks for useful suggestions about correct way how to replace plain
files with directories at installworld stage to: Ruslan Ermilov <ru>
2001-12-21 13:14:02 +00:00
Alexey Zelkin
f43a321bf0
style(9)'ify
2001-12-20 18:28:52 +00:00
Alexey Zelkin
f2d0f4274b
Add my e-mail to copyrights
2001-12-20 15:30:02 +00:00
Ruslan Ermilov
de400a7b97
mdoc(7) police: use no-break space.
2001-12-12 13:46:15 +00:00
Ruslan Ermilov
f079ab33c6
mdoc(7) police: use no-break space, fix markup.
2001-12-12 13:45:35 +00:00
Ruslan Ermilov
5411c22ae5
mdoc(7) police: use non-break space, remove whitespace at EOL, fix markup.
2001-12-12 13:42:25 +00:00
Alexey Zelkin
74f2b97544
* Add my e-mail to copyrights
...
* style(9)'ify
2001-12-11 15:55:42 +00:00
Alexey Zelkin
b21656a8f4
Fix grouping string handling
2001-12-11 15:26:36 +00:00
Andrey A. Chernov
8ede26d773
Clarify ' ' space issue
2001-12-05 16:33:11 +00:00
Andrey A. Chernov
e3a3c468a5
Remove specific reference to ASCII space (' '), it is true for localized
...
spaces too
2001-12-02 12:31:44 +00:00
Andrey A. Chernov
f2f94c9675
Clarify isblank range
2001-11-30 05:39:08 +00:00
Andrey A. Chernov
a72d401cce
Clarify valid isspace() range
2001-11-30 02:01:32 +00:00
Andrey A. Chernov
307b922e38
Clarify that is[x]digit() class is the same in any locale
2001-11-29 15:23:46 +00:00
Ruslan Ermilov
32eef9aeb1
mdoc(7) police: Use the new .In macro for #include statements.
2001-10-01 16:09:29 +00:00
Andrey A. Chernov
74b6098af4
First appeared in 5.0, not in 4.4
2001-09-17 08:18:45 +00:00
Ruslan Ermilov
c4d9468ea0
mdoc(7) police:
...
Avoid using parenthesis enclosure macros (.Pq and .Po/.Pc) with plain text.
Not only this slows down the mdoc(7) processing significantly, but it also
has an undesired (in this case) effect of disabling hyphenation within the
entire enclosed block.
2001-08-07 15:48:51 +00:00
Dima Dorfman
7ebcc426ef
Remove whitespace at EOL.
2001-07-15 07:53:42 +00:00
Ruslan Ermilov
f80eb0cb14
mdoc(7) police: fixed bugs in rev. 1.19, split section headers names.
2001-07-04 10:53:15 +00:00
Andrey A. Chernov
d118fd8a39
Return "" if reallocf() fails
2001-06-25 20:56:59 +00:00
Andrey A. Chernov
ecffe71379
Describe success return value
2001-06-25 20:50:06 +00:00
Andrey A. Chernov
4e86aa7f9d
Add transition period hack allowing old locale names return proper codeset too
2001-06-25 09:03:10 +00:00
Andrey A. Chernov
75d03a7f04
Handle "ASCII" and "US-ASCII" aliases
2001-06-10 23:22:31 +00:00
Alexey Zelkin
1d7f7b7a7a
add nl_langinfo(3)
2001-05-03 15:12:52 +00:00
Alexey Zelkin
b3d588380e
Eliminate BUGS section. No one of listed bugs is applicable to FreeBSD-current
...
anymore.
2001-05-03 15:05:16 +00:00
Alexey Zelkin
1496a706b9
add manpage for nl_langinfo(3)
...
Reviewed by: ru
2001-05-03 15:02:50 +00:00
Daniel Eischen
278d1a20e8
Include <unistd.h> so that read(2) and write(2) don't cause warnings.
2001-04-10 03:55:19 +00:00
Ruslan Ermilov
50c9722d3b
mdoc(7) police: LIBRARY should be before SYNOPSIS.
2001-03-29 13:03:23 +00:00
Ruslan Ermilov
4a558355e5
MAN[1-9] -> MAN.
2001-03-27 17:27:19 +00:00
Andrey A. Chernov
71a71d575f
Implement D_MD_ORDER (local extension) to get month/day order from locale
2001-03-19 11:55:12 +00:00
David E. O'Brien
1e58303f9f
Use our standard .c rcsid format.
2001-03-05 10:21:05 +00:00
David E. O'Brien
e4efb830ff
Fix copyright breakage in rev 1.2.
...
We *cannot* remove clause #4 from the Univ of California's license.
2001-03-05 10:18:15 +00:00
Andrey A. Chernov
54e3bc256e
Change mon_decimal_point from "." to "" (N/A>) as it is specified by POSIX for
...
POSIX locale.
2001-03-03 21:03:15 +00:00
Andrey A. Chernov
c0bbece16d
Actually implement T_FMT_AMPM
2001-03-02 22:12:19 +00:00
Ruslan Ermilov
efbe286b68
Removed duplicate $FreeBSD$.
2001-03-02 13:00:26 +00:00
Ruslan Ermilov
825d095dd3
Fix setlocale() to conform to the ISO C and POSIX standards.
...
The below text is quoted from the latest POSIX draft:
: The values of locale categories shall be determined by a precedence
: order; the first condition met below determines the value:
:
: 1. If the LC_ALL environment variable is defined and is not null,
: the value of LC_ALL shall be used.
: 2. If the LC_* environment variable (LC_COLLATE, LC_CTYPE, LC_MESSAGES,
: LC_MONETARY, LC_NUMERIC, LC_TIME) is defined and is not null, the
: value of the environment variable shall be used to initialize the
: category that corresponds to the environment variable.
: 3. If the LANG environment variable is defined and is not null, the
: value of the LANG environment variable shall be used.
: 4. If the LANG environment variable is not set or is set to the empty
: string, the implementation-defined default locale shall be used.
The conditions 1 and 2 were interchanged, i.e., LC_* were looked first,
then LC_ALL, then LANG (note that LC_ALL and LANG were essentially the
same, providing the default, with LC_ALL taking precedence over LANG).
Now, LC_ALL and LANG serve the different purposes. LC_ALL overrides
any LC_*, and LANG provides the default fallback.
Testcase:
/usr/bin/env LC_ALL=C LC_TIME=de_DE.ISO_8859-1 /bin/date
Should return date in the "C" locale format.
Inspired by: date(1) reference page in the Draft
2001-03-02 12:45:52 +00:00
Daniel Eischen
3b5b529f2e
s/fstat/_fstat/
...
Approved by: phantom
2001-03-01 04:59:01 +00:00
Ruslan Ermilov
588a200ce1
.St -ansiC -> .St -isoC
2001-02-26 13:23:47 +00:00
Alexey Zelkin
41b55591ce
Fix visibility of empty variable -- it should be static.
...
Submitted by: bde and Hartmut Brandt <brandt@fokus.gmd.de> (via PR)
PR: bin/25308
2001-02-24 13:13:48 +00:00
Alexey Zelkin
e1467aa917
cleanup commentaries
2001-02-19 19:09:00 +00:00
Andrey A. Chernov
c80a91609d
Deal properly with "0"
2001-02-19 06:19:51 +00:00
Andrey A. Chernov
8a8e51d8e8
CRNCYSTR: determine '.' too
2001-02-17 11:15:30 +00:00
Andrey A. Chernov
59dde0d08d
Implement CRNCYSTR
2001-02-17 07:35:01 +00:00
Andrey A. Chernov
d6a3432e11
Return {YES,NO}STR from locale
...
Approved by: phantom
2001-02-13 23:32:48 +00:00
Alexey Zelkin
39d2c772eb
catch up to __part_load_locale() interface change
2001-02-13 15:32:21 +00:00
Alexey Zelkin
fc38c1e548
add additional function parameter: bufsize_min. it's possible
...
to check two sizes per one function invocation now.
Suggested by: ache
2001-02-13 15:29:39 +00:00
Alexey Zelkin
b161fb0061
Make comparsions more clear (per style(9))
2001-02-12 08:56:39 +00:00
Alexey Zelkin
ba4a5c925a
Assume that "" passed as parameter also means "no grouping"
...
Make comparsions more clear (per style(9))
2001-02-12 08:55:12 +00:00
Robert Watson
4be19dddae
o Fix build of libc broken in revision 1.2. offsetof() requires the
...
inclusion of stddef.h.
Reviewed by: peter
2001-02-12 02:44:33 +00:00
Alexey Zelkin
fc19bba6aa
Don't use hardcoded struct size, use offsetof() instead (make size calculations
...
dynamic)
2001-02-11 15:09:31 +00:00
Alexey Zelkin
9040b756dd
Don't try to convert grouping strings in case if C or POSIX locale
...
was explicitly specified.
Submitted by: ache
2001-02-11 15:07:26 +00:00
Alexey Zelkin
cb03ae3061
make it possible to specify grouping number from range 0..CHAR_MAX,
...
not only one-digit number
2001-02-10 20:22:45 +00:00
Alexey Zelkin
7d2cc62ba3
Use "namespace.h" and "un-namespace.h"
...
Requested by: deischen
2001-02-10 19:57:26 +00:00
Alexey Zelkin
1bd7723d09
. Fix semantics of grouping (LC_MONETARY::mon_grouping,
...
LC_NUMERIC::grouping) values.
. Always set __XXX_changed flags then loading numeric & monetary locale
categories to allow localeconv() to use C locale also.
2001-02-10 15:36:46 +00:00
Andrey A. Chernov
ab9577f234
As temporary workaround for missing *grouping fields parser always return "no
...
grouping" (CHAR_MAX, '\0').
Fixme: grouping parser needs to be implemented.
2001-02-10 04:32:55 +00:00
Andrey A. Chernov
96be743f80
According to Garrett, POSIX widely use -1 to indicate CHAR_MAX, so back out
...
all my "-1" -> "something" fixes and replace -1 with CHAR_MAX directly in
strtol() in cnv()
2001-02-10 03:31:23 +00:00
Andrey A. Chernov
d2712eafa7
Use __XSTRING(CHAR_MAX) instead of "127" and strtol() base 0 to parse it (0x7f)
2001-02-10 02:00:56 +00:00
Andrey A. Chernov
1506a668dc
Correct myself a bit: situation is broken not for _all_ numeric LC_MONETARY,
...
LC_NUMERIC fields, but only for *grouping fields - other fields are converted
to a chars in localeconv(), so final change is:
"-1" -> "127"
127 here is because CHAR_MAX supposed, which is _positive_ (SUSv2 requirement),
not negative as 255. It is still a bit of hack. To find real CHAR_MAX will be
better to sprintf() it once somewhere in static buffer. *grouping parsing
still broken and missing and needs to be implemented.
2001-02-10 01:38:18 +00:00
Andrey A. Chernov
051f867fe1
NOTE: according to SUSV2 and other implementations, numeric elements in
...
LC_MONETARY, LC_NUMERIC are byte-arrays, not ASCII strings!
Fix "C" locale, change "-1" to {CHAR_MAX, '\0'} according to standards.
This is only partial fix - locale loading procedure remains broken as before
and load too big values for all locales. All numeric strings there should be
converted with something like atoi() and placed into bytes. Maybe I do it
later, if someone will not fix it faster.
2001-02-10 00:43:32 +00:00
Andrey A. Chernov
d0e2083fdd
Implement CODESET
2001-02-09 22:43:39 +00:00
Andrey A. Chernov
634c946524
Back out attempt to implement CRNCYSTR - require additional prefixes according
...
to SUSV2. Add comment explaining it instead.
2001-02-09 18:39:17 +00:00
Andrey A. Chernov
218bcbcb4d
Explicitly mark deprecated entries.
...
Return currency_symbol for CRNCYSTR
Return "%r" for T_FMT_AMPM
Remove obsoleted comment about c_fmt
Return "" for {YES,NO}STR
2001-02-09 18:16:12 +00:00
Alexey Zelkin
747a8b55e8
add lmonetary.?, lnumeric.?, ldpart.?, lmessages.?, nl_langinfo.c
...
remove lconv.c
2001-02-08 17:13:24 +00:00