aboutsummaryrefslogtreecommitdiff
path: root/include/string.h (follow)
Commit message (Expand)AuthorAgeFilesLines
* add memmem function (gnu extension)•••based on strstr. passes gnulib tests and a few quick checks of my own. Rich Felker2012-10-151-0/+1
* strsep is BSD|GNU, not GNU-only; it's originally from BSDRich Felker2012-09-131-1/+4
* default features: make musl usable without feature test macros•••the old behavior of exposing nothing except plain ISO C can be obtained by defining __STRICT_ANSI__ or using a compiler option (such as -std=c99) that predefines it. the new default featureset is POSIX with XSI plus _BSD_SOURCE. any explicit feature test macros will inhibit the default. installation docs have also been updated to reflect this change. Rich Felker2012-09-071-5/+1
* use restrict everywhere it's required by c99 and/or posix 2008•••to deal with the fact that the public headers may be used with pre-c99 compilers, __restrict is used in place of restrict, and defined appropriately for any supported compiler. we also avoid the form [restrict] since older versions of gcc rejected it due to a bug in the original c99 standard, and instead use the form *restrict. Rich Felker2012-09-061-12/+18
* support _BSD_SOURCE feature test macro•••patch by Isaac Dunham. matched closely (maybe not exact) to glibc's idea of what _BSD_SOURCE should make visible. Rich Felker2012-05-221-5/+12
* omit declaration of basename wrongly interpreted as prototype in C++•••the non-prototype declaration of basename in string.h is an ugly compromise to avoid breaking 2 types of broken software: 1. programs which assume basename is declared in string.h and thus would suffer from dangerous pointer-truncation if an implicit declaration were used. 2. programs which include string.h with _GNU_SOURCE defined but then declare their own prototype for basename using the incorrect GNU signature for the function (which would clash with a correct prototype). however, since C++ does not have non-prototype declarations and interprets them as prototypes for a function with no arguments, we must omit it when compiling C++ code. thankfully, all known broken apps that suffer from the above issues are written in C, not C++. Rich Felker2012-05-091-0/+2
* replace prototype for basename in string.h with non-prototype declaration•••GNU programs may expect the GNU version of basename, which has a different prototype (argument is const-qualified) and prototype it themselves too. of course if they're expecting the GNU behavior for the function, they'll still run into problems, but at least this eliminates some compile-time failures. Rich Felker2012-02-241-1/+1
* declare basename in string.h when _GNU_SOURCE is defined•••note that it still will have the standards-conformant behavior, not the GNU behavior. but at least this prevents broken code from ending up with truncated pointers due to implicit declarations... Rich Felker2012-02-071-0/+1
* more locale_t interfaces (string stuff) and header updates•••this should be everything except for some functions where the non-_l version isn't even implemented yet (mainly some non-ISO-C wcs* functions). Rich Felker2012-02-061-0/+8
* add dummied strverscmp (obnoxious GNU function)•••programs that use this tend to horribly botch international text support, so it's questionable whether we want to support it even in the long term... for now, it's just a dummy that calls strcmp. Rich Felker2011-09-111-0/+1
* function signature fix: add const qualifier to mempcpy src argRich Felker2011-04-261-1/+1
* typo in prototype for mempcpyRich Felker2011-04-261-1/+1
* prototype for mempcpyRich Felker2011-04-261-0/+1
* implement memrchr (nonstandard) and optimize strrchr in terms of itRich Felker2011-04-131-0/+1
* fix prototype for strsepRich Felker2011-04-061-1/+1
* add some missing prototypes for nonstandard functions (strsep, clearenv)Rich Felker2011-03-301-0/+1
* fix missing prototype for strsignalRich Felker2011-02-261-0/+1
* apply feature test protection to memccpyRich Felker2011-02-241-1/+4
* prototype for gnu strcasestr (currently a stub)Rich Felker2011-02-151-0/+1
* more header cleanup and conformance fixes - string.hRich Felker2011-02-141-7/+12
* initial check-in, version 0.5.0Rich Felker2011-02-121-0/+72