optimize strchrnul/strcspn not to scan string twice on no-match
authorRich Felker <dalias@aerifal.cx>
Thu, 27 Sep 2012 21:19:09 +0000 (17:19 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 27 Sep 2012 21:19:09 +0000 (17:19 -0400)
commit68dbd05039f8b256f586ed9a589645fa3a1b7f5f
treeb27c6d58c7be3e028276a4840e76187ccdfa9696
parent3f9ff1514e49b06c20a61af9ae9e52bd53b48d9a
optimize strchrnul/strcspn not to scan string twice on no-match

when strchr fails, and important piece of information already
computed, the string length, is thrown away. have strchrnul (with
namespace protection) be the underlying function so this information
can be kept, and let strchr be a wrapper for it. this also allows
strcspn to be considerably faster in the case where the match set has
a single element that's not matched.
src/string/strchr.c
src/string/strchrnul.c
src/string/strcspn.c