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 /hmp.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 'hmp.c')
-rw-r--r-- | hmp.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -2140,12 +2140,12 @@ void hmp_sendkey(Monitor *mon, const QDict *qdict) int has_hold_time = qdict_haskey(qdict, "hold-time"); int hold_time = qdict_get_try_int(qdict, "hold-time", -1); Error *err = NULL; - char *separator; + const char *separator; int keyname_len; while (1) { - separator = strchr(keys, '-'); - keyname_len = separator ? separator - keys : strlen(keys); + separator = qemu_strchrnul(keys, '-'); + keyname_len = separator - keys; /* Be compatible with old interface, convert user inputted "<" */ if (keys[0] == '<' && keyname_len == 1) { @@ -2182,7 +2182,7 @@ void hmp_sendkey(Monitor *mon, const QDict *qdict) keylist->value->u.qcode.data = idx; } - if (!separator) { + if (!*separator) { break; } keys = separator + 1; |