diff options
| author | Keno Fischer | 2018-06-29 12:32:10 +0200 |
|---|---|---|
| committer | Greg Kurz | 2018-06-29 12:32:10 +0200 |
| commit | 5c99fa375da1c7cc4a42a93e002e98b9fb34754b (patch) | |
| tree | 96dd1387a3a911dfb5ef5d97a4775028b87ba560 /hmp.c | |
| parent | Merge remote-tracking branch 'remotes/berrange/tags/qio-next-pull-request' in... (diff) | |
| download | qemu-5c99fa375da1c7cc4a42a93e002e98b9fb34754b.tar.gz qemu-5c99fa375da1c7cc4a42a93e002e98b9fb34754b.tar.xz qemu-5c99fa375da1c7cc4a42a93e002e98b9fb34754b.zip | |
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; |
