diff --git a/ffserver_config.c b/ffserver_config.c
index 1e79a5d92022d98ac06c3ae1767a576d284b0e4a..9f9655ef5e76cd207f3b21c8a4e68236111afd76 100644
--- a/ffserver_config.c
+++ b/ffserver_config.c
@@ -84,28 +84,24 @@ void ffserver_get_arg(char *buf, int buf_size, const char **pp)
 {
     const char *p;
     char *q;
-    int quote;
+    int quote = 0;
 
     p = *pp;
-    while (av_isspace(*p)) p++;
     q = buf;
-    quote = 0;
+
+    while (av_isspace(*p)) p++;
+
     if (*p == '\"' || *p == '\'')
         quote = *p++;
-    for(;;) {
-        if (quote) {
-            if (*p == quote)
-                break;
-        } else {
-            if (av_isspace(*p))
-                break;
-        }
-        if (*p == '\0')
+
+    while (*p != '\0') {
+        if (quote && *p == quote || !quote && av_isspace(*p))
             break;
         if ((q - buf) < buf_size - 1)
             *q++ = *p;
         p++;
     }
+
     *q = '\0';
     if (quote && *p == quote)
         p++;