ithewei 4 anni fa
parent
commit
647a3ee199
1 ha cambiato i file con 14 aggiunte e 8 eliminazioni
  1. 14 8
      examples/curl.cpp

+ 14 - 8
examples/curl.cpp

@@ -143,16 +143,19 @@ int main(int argc, char* argv[]) {
                 if (key_len && value_len) {
                     req.headers[std::string(key,key_len)] = std::string(value,value_len);
                     key_len = value_len = 0;
+                    state = s_key;
                 }
-                state = s_key;
-                key = p+1;
             }
             else if (*p == ':') {
                 state = s_value;
-                value = p+1;
             }
             else {
-                state == s_key ? ++key_len : ++value_len;
+                if (state == s_key) {
+                    if (++key_len == 1) key = p;
+                }
+                else {
+                    if (++value_len == 1) value = p;
+                }
             }
             ++p;
         }
@@ -190,16 +193,19 @@ int main(int argc, char* argv[]) {
                         }
                         req.form[std::string(key,key_len)] = data;
                         key_len = value_len = 0;
+                        state = s_key;
                     }
-                    state = s_key;
-                    key = p+1;
                 }
                 else if (*p == '=') {
                     state = s_value;
-                    value = p+1;
                 }
                 else {
-                    state == s_key ? ++key_len : ++value_len;
+                    if (state == s_key) {
+                        if (++key_len == 1) key = p;
+                    }
+                    else {
+                        if (++value_len == 1) value = p;
+                    }
                 }
                 ++p;
             }