summary refs log tree commit diff stats
path: root/util/cutils.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 /util/cutils.c
parent609ef9f451759151d0bfe7c3843410ab94d68f18 (diff)
downloadfocaccia-qemu-5c99fa375da1c7cc4a42a93e002e98b9fb34754b.tar.gz
focaccia-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 'util/cutils.c')
-rw-r--r--util/cutils.c15
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