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>
This commit is contained in:
Keno Fischer 2018-06-29 12:32:10 +02:00 committed by Greg Kurz
parent 609ef9f451
commit 5c99fa375d
8 changed files with 51 additions and 20 deletions

View file

@ -77,11 +77,7 @@ const char *get_opt_value(const char *p, char **value)
*value = NULL;
while (1) {
offset = strchr(p, ',');
if (!offset) {
offset = p + strlen(p);
}
offset = qemu_strchrnul(p, ',');
length = offset - p;
if (*offset != '\0' && *(offset + 1) == ',') {
length++;