aboutsummaryrefslogtreecommitdiff
path: root/monitor.c
diff options
context:
space:
mode:
authorKeno Fischer <keno@juliacomputing.com>2018-06-29 12:32:10 +0200
committerGreg Kurz <groug@kaod.org>2018-06-29 12:32:10 +0200
commit5c99fa375da1c7cc4a42a93e002e98b9fb34754b (patch)
tree96dd1387a3a911dfb5ef5d97a4775028b87ba560 /monitor.c
parent609ef9f451759151d0bfe7c3843410ab94d68f18 (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 'monitor.c')
-rw-r--r--monitor.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/monitor.c b/monitor.c
index 0730a27172..80af6a9390 100644
--- a/monitor.c
+++ b/monitor.c
@@ -820,9 +820,7 @@ static int compare_cmd(const char *name, const char *list)
p = list;
for(;;) {
pstart = p;
- p = strchr(p, '|');
- if (!p)
- p = pstart + strlen(pstart);
+ p = qemu_strchrnul(p, '|');
if ((p - pstart) == len && !memcmp(pstart, name, len))
return 1;
if (*p == '\0')
@@ -3489,9 +3487,7 @@ static void cmd_completion(Monitor *mon, const char *name, const char *list)
p = list;
for(;;) {
pstart = p;
- p = strchr(p, '|');
- if (!p)
- p = pstart + strlen(pstart);
+ p = qemu_strchrnul(p, '|');
len = p - pstart;
if (len > sizeof(cmd) - 2)
len = sizeof(cmd) - 2;