Commit Graph

25 Commits

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