From: Josh Triplett Date: Tue, 11 Mar 2014 23:45:56 +0000 (-0700) Subject: util: Rewrite in_charset to use strspn X-Git-Tag: v212~210 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=e0333c7314e89c0bc268bd20c5e247a7c907ab34 util: Rewrite in_charset to use strspn This simplifies in_charset down to a one-liner, and allows for possible optimizations of strspn in libc. --- diff --git a/src/shared/util.c b/src/shared/util.c index 10f113bd2..e1a116845 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -921,16 +921,9 @@ char *delete_chars(char *s, const char *bad) { } bool in_charset(const char *s, const char* charset) { - const char *i; - assert(s); assert(charset); - - for (i = s; *i; i++) - if (!strchr(charset, *i)) - return false; - - return true; + return s[strspn(s, charset)] == '\0'; } char *file_in_same_dir(const char *path, const char *filename) {