changeset 8465:5611bbb852ce quic

HTTP/3: simplifed handling ngx_http_v3_parse_literal() return code.
author Roman Arutyunyan <arut@nginx.com>
date Fri, 03 Jul 2020 12:05:05 +0300
parents fdb8edc8e496
children 4fd709540daf
files src/http/v3/ngx_http_v3_parse.c
diffstat 1 files changed, 21 insertions(+), 56 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/v3/ngx_http_v3_parse.c	Fri Jul 03 09:26:12 2020 +0300
+++ b/src/http/v3/ngx_http_v3_parse.c	Fri Jul 03 12:05:05 2020 +0300
@@ -624,17 +624,12 @@
     case sw_value:
 
         rc = ngx_http_v3_parse_literal(c, &st->literal, ch);
-
-        if (rc == NGX_DONE) {
-            st->value = st->literal.value;
-            goto done;
-        }
-
-        if (rc != NGX_AGAIN) {
+        if (rc != NGX_DONE) {
             return rc;
         }
 
-        break;
+        st->value = st->literal.value;
+        goto done;
     }
 
     return NGX_AGAIN;
@@ -703,17 +698,12 @@
     case sw_name:
 
         rc = ngx_http_v3_parse_literal(c, &st->literal, ch);
-
-        if (rc == NGX_DONE) {
-            st->name = st->literal.value;
-            st->state = sw_value_len;
-            break;
-        }
-
-        if (rc != NGX_AGAIN) {
+        if (rc != NGX_DONE) {
             return rc;
         }
 
+        st->name = st->literal.value;
+        st->state = sw_value_len;
         break;
 
     case sw_value_len:
@@ -741,17 +731,12 @@
     case sw_value:
 
         rc = ngx_http_v3_parse_literal(c, &st->literal, ch);
-
-        if (rc == NGX_DONE) {
-            st->value = st->literal.value;
-            goto done;
-        }
-
-        if (rc != NGX_AGAIN) {
+        if (rc != NGX_DONE) {
             return rc;
         }
 
-        break;
+        st->value = st->literal.value;
+        goto done;
     }
 
     return NGX_AGAIN;
@@ -876,17 +861,12 @@
     case sw_value:
 
         rc = ngx_http_v3_parse_literal(c, &st->literal, ch);
-
-        if (rc == NGX_DONE) {
-            st->value = st->literal.value;
-            goto done;
-        }
-
-        if (rc != NGX_AGAIN) {
+        if (rc != NGX_DONE) {
             return rc;
         }
 
-        break;
+        st->value = st->literal.value;
+        goto done;
     }
 
     return NGX_AGAIN;
@@ -1306,17 +1286,12 @@
     case sw_value:
 
         rc = ngx_http_v3_parse_literal(c, &st->literal, ch);
-
-        if (rc == NGX_DONE) {
-            st->value = st->literal.value;
-            goto done;
-        }
-
-        if (rc != NGX_AGAIN) {
+        if (rc != NGX_DONE) {
             return rc;
         }
 
-        break;
+        st->value = st->literal.value;
+        goto done;
     }
 
     return NGX_AGAIN;
@@ -1382,17 +1357,12 @@
     case sw_name:
 
         rc = ngx_http_v3_parse_literal(c, &st->literal, ch);
-
-        if (rc == NGX_DONE) {
-            st->name = st->literal.value;
-            st->state = sw_value_len;
-            break;
-        }
-
-        if (rc != NGX_AGAIN) {
+        if (rc != NGX_DONE) {
             return rc;
         }
 
+        st->name = st->literal.value;
+        st->state = sw_value_len;
         break;
 
     case sw_value_len:
@@ -1420,17 +1390,12 @@
     case sw_value:
 
         rc = ngx_http_v3_parse_literal(c, &st->literal, ch);
-
-        if (rc == NGX_DONE) {
-            st->value = st->literal.value;
-            goto done;
-        }
-
-        if (rc != NGX_AGAIN) {
+        if (rc != NGX_DONE) {
             return rc;
         }
 
-        break;
+        st->value = st->literal.value;
+        goto done;
     }
 
     return NGX_AGAIN;