Commit Graph

35 Commits

Author SHA1 Message Date
joerg af730bf1c8 Fix visibility of various C99 features, esp. for C++11. 2020-03-20 01:08:42 +00:00
joerg 668d06e93f Include at least ctype_bits.h, even when not providing the macros. 2013-04-28 19:39:56 +00:00
joerg a74df2a38d Do not define the ctype(3) interface via macros for C++. 2013-04-26 17:35:52 +00:00
joerg 4e2459a9e6 Add isalpha_l and friends. 2013-04-16 11:29:12 +00:00
tnozaki 9a35d7972b more split ctype.h -> sys/ctype_inline.h, sys/ctype_bits.h 2010-06-01 13:52:07 +00:00
tnozaki 64a7d4fa9a 1. hide _CTYPE_PRIVATE section in ctype.h, move them to private header ctype_local.h.
2. do not use _CTYPE_NUM_CHARS macro to read data from LC_CTYPE(old BSDCTYPE style) database.
   because 1<<CHAR_BIT is MD, so i added MI macro _CTYPE_CACHE_SIZE(1<<8).
3. remove _NB_CACHED_RUNE macro, use _CTYPE_CACHE_SIZE instead.
2010-05-22 06:38:15 +00:00
perry 5f65228b74 u_intN_t -> uintN_t 2005-12-26 19:01:47 +00:00
rillig 7f8368c35e Replaced the macro name "notyet" with a 0. There's always the possibility
that a strictly conforming C program uses that name itself, so it had to
be removed. Also put the long comment above the #if 0, because it describes
the #if, not the isblank() macro. Added two blank lines to make the grouping
clear. Approved by kleink.
2005-04-15 23:46:07 +00:00
perry 19b7469a00 de-__P -- the hack is long since useless. Discussed with christos,
matt, kleink, others. Approved by christos.
2005-02-03 04:39:32 +00:00
dsl 96a5d45d4c Remove the (int) cast from the array subscript of the ctype #defines.
The cast just stops gcc detecting places where the functions are
passed a 'char' variable - and will index off the array for byte values
0x80 to 0xff.
All (I hope) of the places in the netbsd sources where this was a
potential problem have had an (unsigned char) cast applied.
Christos said he'll fix any fallout I've missed.
2004-11-05 22:55:19 +00:00
kleink 22c6452bfb _ISO_C99_SOURCE -> _ISOC99_SOURCE 2003-10-22 15:51:18 +00:00
agc 039cc95684 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22270, verified by myself.
2003-08-07 09:44:09 +00:00
bjh21 3a344e272f Header file cleanup:
* Sort includes.
* isblank() is in C99, POSIX 2001 and XSH6.  Update ifdefs accordingly.
2003-04-29 12:49:38 +00:00
bjh21 4be7a2dcf3 Add a new feature-test macro, _NETBSD_SOURCE. If this is defined
by the application, all NetBSD interfaces are made visible, even
if some other feature-test macro (like _POSIX_C_SOURCE) is defined.
<sys/featuretest.h> defined _NETBSD_SOURCE if none of _ANSI_SOURCE,
_POSIX_C_SOURCE and _XOPEN_SOURCE is defined, so as to preserve
existing behaviour.

This has two major advantages:
+ Programs that require non-POSIX facilities but define _POSIX_C_SOURCE
  can trivially be overruled by putting -D_NETBSD_SOURCE in their CFLAGS.
+ It makes most of the #ifs simpler, in that they're all now ORs of the
  various macros, rather than having checks for (!defined(_ANSI_SOURCE) ||
  !defined(_POSIX_C_SOURCE) || !defined(_XOPEN_SOURCE)) all over the place.

I've tried not to change the semantics of the headers in any case where
_NETBSD_SOURCE wasn't defined, but there were some places where the
current semantics were clearly mad, and retaining them was harder than
correcting them.  In particular, I've mostly normalised things so that
_ANSI_SOURCE gets you the smallest set of stuff, then _POSIX_C_SOURCE,
_XOPEN_SOURCE and _NETBSD_SOURCE in that order.

Tested by building for vax, encouraged by thorpej, and uncontested in
tech-userlevel for a week.
2003-04-28 23:16:11 +00:00
thorpej 989dafca84 If _CTYPE_PRIVATE, need to include <machine/limits.h> for CHAR_BIT. 2001-04-18 01:45:18 +00:00
kleink 7aa4bf8f8f Replace (sizeof (char) << 3) with a less silly-looking CHAR_BIT;
from Peter Seebach in PR standards/9333.
2001-04-17 20:09:50 +00:00
itojun 97776ad876 have comment about strange use of _B 2001-01-21 10:44:15 +00:00
simonb 3f935d014c Remove 'extern' from function declarations. 2000-06-13 01:21:52 +00:00
kleink c903851a7e Reorganize name space protection. 1998-05-10 16:57:51 +00:00
mrg 62817961ee cast the argument of ctype macros to (int). 1998-03-23 06:44:34 +00:00
kleink dbda158f1f Add support for localized character sets (a.k.a. LC_CTYPE).
Thanks go to Matthias Scheler <tron@lyssa.owl.de> for contributing his initial
work in PR/3592, and to Christos Zoulas for refining it!
1997-06-02 09:52:36 +00:00
cgd 4d2cbfce0a new RCS ID format. 1994-10-26 00:55:40 +00:00
cgd e6b5ddd91e update all but ctype.h, dumprestore.h, time.h to 4.4-Lite versions.
USL copyright additions on those.  Kill varargs.h, because it can simply
be a link to the machine-dependent version.
1994-05-16 10:58:53 +00:00
jtc 9eff33dc03 #ifdef out the isblank macro. Programs that use it will still work, as
they will link in the isblank function.
1993-10-05 17:07:17 +00:00
jtc 06c97b088e Added isblank() used by 4.4 and POSIX utilities like tr. 1993-09-14 01:07:41 +00:00
mycroft 8419ea2871 ANSI_SOURCE --> _ANSI_SOURCE 1993-09-05 22:27:39 +00:00
cgd 5def7a5fde use "_to*_tab_" rather than "_to*_table_" -- table is defined as the former 1993-08-23 16:25:03 +00:00
jtc c066b5f81e _ctype_, _tolower_tab_, and _toupper_tab_ are now pointers to the tables.
The tables have been renamed to _C_ctype_, _C_tolower_, and _C_toupper_
as they are tables for the C locale.  When switching to a new locale, the
pointers will be set to point to tables specific to the new locale.
1993-08-21 00:46:25 +00:00
deraadt 9086ba2f41 zapped extra ; at end of two #define lines 1993-08-09 01:03:58 +00:00
jtc 43431ef793 Declare translation tables for toupper and tolower. To be replaced by
pointers to the tables to the current locale.
Reintroduce toupper and tolower macros that use the translation tables.
1993-08-06 23:19:51 +00:00
jtc fa5f39ea86 Use const qualifier with _ctype_ table. Smart compilers can then store it
in the text segment.  When we implement locales, the isctype macros/functions
will reference this table (or a locale specific table) through a pointer, but
for right now, it continues to reference the _ctype_ table directly.
1993-08-06 22:44:44 +00:00
jtc df4bd22dd2 Rename tolower & toupper macros to _tolower and _toupper.
Standard C requires tolower to return a character that is !isupper unchanged
which was not being done with the macro.  The function version does the
right thing, so the loss of the macro is no great deal.

I didn't eliminate the macros entirely, since X/Open's XPG3 requires _tolower
and _toupper with the same semantics.  But, like isascii/toascii, they are
removed from the namespace if either ANSI_SOURCE or _POSIX_SOURCE is defined.
1993-08-06 22:05:29 +00:00
jtc ec73242ca8 Declare function versions of is* and to* functions -- discovered by
P.J. Plauger's ANSI Library regression test.
Don't export isascii & toascii in strict ansi mode.
1993-08-06 18:41:21 +00:00
mycroft e9d867ef50 Add RCS identifiers. 1993-08-01 17:54:45 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00