[Spice-devel] [PATCH spice-server 1/3] reds: Reuse strspn and strcspn functions

Frediano Ziglio fziglio at redhat.com
Wed Jun 27 07:00:35 UTC 2018


These functions are in the standard C library, not well known
but quite useful for parsing strings.

Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
 server/reds.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/server/reds.c b/server/reds.c
index 4b2c9919..4d343b25 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -3549,19 +3549,14 @@ static const char* parse_video_codecs(const char *codecs, char **encoder,
     if (!codecs) {
         return NULL;
     }
-    while (*codecs == ';') {
-        codecs++;
-    }
+    codecs += strspn(codecs, ";");
     if (!*codecs) {
         return NULL;
     }
     int n;
     *encoder = *codec = NULL;
     if (sscanf(codecs, "%m[0-9a-zA-Z_]:%m[0-9a-zA-Z_]%n", encoder, codec, &n) != 2) {
-        while (*codecs != '\0' && *codecs != ';') {
-            codecs++;
-        }
-        return codecs;
+        return codecs + strcspn(codecs, ";");
     }
     return codecs + n;
 }
-- 
2.17.1



More information about the Spice-devel mailing list