Commit Graph

40 Commits

Author SHA1 Message Date
joerg
2839b8fcc3 Do not wrap other header files with extern "C". 2012-04-20 16:20:45 +00:00
kleink
9be4603670 Declare strsignal(3) in <string.h>, per POSIX-2008, and adjust
documentation accordingly.

Fixes PR standards/41325 from Perry E. Metzger.
2009-07-22 19:48:27 +00:00
perry
b1606298a5 note that we have strsignal but it is in the wrong include file. 2009-05-01 20:01:23 +00:00
perry
bdb0c5fb32 Add prototypes for stpcpy, stpncpy, strnlen, added in the latest POSIX.
Implementations in libc to follow.

For POSIX compliance, we are still missing:

strcoll_l
strerror_l
strsignal
strxfrm_l
2009-05-01 17:16:49 +00:00
christos
84e3ca2d14 add memrchr 2009-04-10 23:00:52 +00:00
christos
e2347743fc kill _NETBSD_TOOLS. 2007-10-19 15:58:52 +00:00
christos
6c18907891 Introduce _NETBSD_TOOLS for symbols the are needed in tools build 2007-10-18 02:23:37 +00:00
kristerw
1ef79ebc7d Do not include SSP files unless _FORTIFY_SOURCE > 0. 2007-08-02 21:49:09 +00:00
tls
dc99372be9 Match usage of FORTIFY_SOURCE on other platforms by not requiring special
include path: the normal header files now include the "SSP" ones (which one
should note are not really named right: SSP and FORTIFY_SOURCE are independent
features).

Disable USE_SSP on targets where the compiler doesn't support it at all
(mips, alpha) or it's known broken (sh3).  But enable FORTIFY_SOURCE,
without SSP, on those platforms -- tested on mipsel.
2007-05-30 21:14:35 +00:00
christos
f4254d2cef Add stresep and strndup. 2006-08-12 23:50:13 +00:00
christos
b43b0b010f Add strerror_r. 2005-07-28 16:26:53 +00:00
perry
93c3898449 Add prototype for memmem(3). It is API compatible with the version in Linux. 2005-03-13 15:09:50 +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
kleink
cceefa7be9 Move the strcasestr() prototype to the local extensions section.
Also __P() it; this should be consistent within a single header.
2004-07-12 23:35:14 +00:00
junyoung
74d67c3551 Add strcasestr(3), case insensitive version of strstr(3).
Bump libc minor.

From FreeBSD.
2004-07-03 08:27:25 +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
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
kleink
346219c95f Sprinkle some restrict qualifiers. 2001-03-22 07:37:04 +00:00
kleink
1bba558e50 Move <null.h> to <sys/null.h> for the purpose of avoiding conflicts due to
std C headers including it, and a kernel module written in C++ would benfit
as well.
2000-01-10 16:58:38 +00:00
kleink
c07f17e8d9 For the benefit of G++'s null pointer constant implementation, #define NULL
as __null with egcs 1.0 (GCC 2.90) and above.  As several headers are affected
by this change, move the definition into a new header file, <null.h>, to ease
maintenance.
1999-12-22 21:26:15 +00:00
kleink
caba80aea6 strlcat() and strlcpy() aren't ISO/IEC 9899:1990. 1999-09-09 09:30:40 +00:00
lukem
f7966ba040 prototypes for strlcat() and strlcpy() 1999-09-08 22:09:36 +00:00
mycroft
633b8f45a9 Make many of the new consts dependent on a new `__AUDIT__' flag, to avoid
breaking third party software.  *sigh*
1998-07-27 09:09:03 +00:00
mycroft
74d731feba KNF nit. 1998-07-26 19:20:55 +00:00
mycroft
4024f73640 const poisoning. 1998-07-26 13:34:18 +00:00
kleink
5a50994071 Make strtok_r() available to _XOPEN_SOURCE >= 500, and fix the protection of
memccpy() and strdup().
1998-05-06 20:17:55 +00:00
tv
ced11d04ee Move the #include <strings.h> line inside a !defined(_XOPEN_SOURCE) block
(not just !POSIX and !ANSI)
1998-04-27 17:02:04 +00:00
perry
d7d500efb6 restore include of sys/featuretest.h 1998-02-03 04:45:41 +00:00
perry
883ee70d11 remove sys/featuretest.h -- why did kleink add it? 1998-02-02 22:07:54 +00:00
perry
b7b7322c68 merge lite-2 1998-02-02 21:07:13 +00:00
kleink
ea1a5dbd26 Per XPG4.2, move the prototypes of bcmp(), bcopy(), bzero(), ffs(), index(),
rindex(), strcasecmp() and strncasecmp() to <strings.h>.  For now, include
<strings.h> to get these prototypes; this should go away eventually.
Also, protect the prototypes of strtok_r() and strsep().
1998-02-02 16:15:07 +00:00
kleink
f1d296dd60 Per XPG4, move the prototype of swab() from <string.h> to <unistd.h>. 1998-01-12 16:05:40 +00:00
christos
3664382e53 move setmode and strsignal to unistd.h 1997-10-16 23:26:24 +00:00
christos
81037ca0d3 Add missing strtok_r prototype 1997-07-13 18:02:16 +00:00
cgd
4d2cbfce0a new RCS ID format. 1994-10-26 00:55:40 +00:00
jtc
34dc9c85a5 Added prototype for new function strsignal() 1994-08-02 05:03:46 +00:00
cgd
2922de7461 add _BSD's to ansi types 1994-05-21 09:41:59 +00:00
jtc
847ee7d5b1 Changed preprocessor conditional so non-standard functions would not be
declared in a _POSIX_SOURCE environment.
1993-10-11 18:43:45 +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