Commit Graph

27 Commits

Author SHA1 Message Date
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