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