diff options
author | Keno Fischer <keno@juliacomputing.com> | 2018-06-29 12:32:10 +0200 |
---|---|---|
committer | Greg Kurz <groug@kaod.org> | 2018-06-29 12:32:10 +0200 |
commit | 5c99fa375da1c7cc4a42a93e002e98b9fb34754b (patch) | |
tree | 96dd1387a3a911dfb5ef5d97a4775028b87ba560 /util/cutils.c | |
parent | 609ef9f451759151d0bfe7c3843410ab94d68f18 (diff) |
cutils: Provide strchrnul
strchrnul is a GNU extension and thus unavailable on a number of targets.
In the review for a commit removing strchrnul from 9p, I was asked to
create a qemu_strchrnul helper to factor out this functionality.
Do so, and use it in a number of other places in the code base that inlined
the replacement pattern in a place where strchrnul could be used.
Signed-off-by: Keno Fischer <keno@juliacomputing.com>
Acked-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Greg Kurz <groug@kaod.org>
Diffstat (limited to 'util/cutils.c')
-rw-r--r-- | util/cutils.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/util/cutils.c b/util/cutils.c index 0de69e6db4..9205e09031 100644 --- a/util/cutils.c +++ b/util/cutils.c @@ -545,6 +545,21 @@ int qemu_strtou64(const char *nptr, const char **endptr, int base, } /** + * Searches for the first occurrence of 'c' in 's', and returns a pointer + * to the trailing null byte if none was found. + */ +#ifndef HAVE_STRCHRNUL +const char *qemu_strchrnul(const char *s, int c) +{ + const char *e = strchr(s, c); + if (!e) { + e = s + strlen(s); + } + return e; +} +#endif + +/** * parse_uint: * * @s: String to parse |