|
@@ -110,8 +110,8 @@ url_encoded_field_get(const struct mg_connection *conn,
|
|
*value_len -= 2;
|
|
*value_len -= 2;
|
|
else if (*value_len >= 1 && value[*value_len - 1] == '%')
|
|
else if (*value_len >= 1 && value[*value_len - 1] == '%')
|
|
(*value_len)--;
|
|
(*value_len)--;
|
|
- value_dec_len =
|
|
|
|
- mg_url_decode(value, (int)*value_len, value_dec, ((int)*value_len) + 1, 1);
|
|
|
|
|
|
+ value_dec_len = mg_url_decode(
|
|
|
|
+ value, (int)*value_len, value_dec, ((int)*value_len) + 1, 1);
|
|
|
|
|
|
ret = fdh->field_get(key_dec,
|
|
ret = fdh->field_get(key_dec,
|
|
value_dec,
|
|
value_dec,
|
|
@@ -262,15 +262,16 @@ mg_handle_form_request(struct mg_connection *conn,
|
|
|
|
|
|
val++;
|
|
val++;
|
|
next = strchr(val, '&');
|
|
next = strchr(val, '&');
|
|
- if (next)
|
|
|
|
|
|
+ if (next) {
|
|
vallen = next - val;
|
|
vallen = next - val;
|
|
- else
|
|
|
|
|
|
+ } else {
|
|
vallen = (ptrdiff_t)strlen(val);
|
|
vallen = (ptrdiff_t)strlen(val);
|
|
|
|
+ }
|
|
|
|
|
|
if (field_storage == MG_FORM_FIELD_STORAGE_GET) {
|
|
if (field_storage == MG_FORM_FIELD_STORAGE_GET) {
|
|
/* Call callback */
|
|
/* Call callback */
|
|
r = url_encoded_field_get(
|
|
r = url_encoded_field_get(
|
|
- conn, data, (size_t)keylen, val, (size_t*)&vallen, fdh);
|
|
|
|
|
|
+ conn, data, (size_t)keylen, val, (size_t *)&vallen, fdh);
|
|
if (r == MG_FORM_FIELD_HANDLE_ABORT) {
|
|
if (r == MG_FORM_FIELD_HANDLE_ABORT) {
|
|
/* Stop request handling */
|
|
/* Stop request handling */
|
|
break;
|
|
break;
|
|
@@ -281,10 +282,12 @@ mg_handle_form_request(struct mg_connection *conn,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if (next)
|
|
|
|
|
|
+ if (next) {
|
|
next++;
|
|
next++;
|
|
- else
|
|
|
|
|
|
+ } else {
|
|
next = val + vallen;
|
|
next = val + vallen;
|
|
|
|
+ }
|
|
|
|
+
|
|
#if !defined(NO_FILESYSTEMS)
|
|
#if !defined(NO_FILESYSTEMS)
|
|
if (field_storage == MG_FORM_FIELD_STORAGE_STORE) {
|
|
if (field_storage == MG_FORM_FIELD_STORAGE_STORE) {
|
|
/* Store the content to a file */
|
|
/* Store the content to a file */
|
|
@@ -476,7 +479,7 @@ mg_handle_form_request(struct mg_connection *conn,
|
|
? 0
|
|
? 0
|
|
: (size_t)keylen),
|
|
: (size_t)keylen),
|
|
val,
|
|
val,
|
|
- (size_t*)&vallen,
|
|
|
|
|
|
+ (size_t *)&vallen,
|
|
fdh);
|
|
fdh);
|
|
get_block++;
|
|
get_block++;
|
|
if (r == MG_FORM_FIELD_HANDLE_ABORT) {
|
|
if (r == MG_FORM_FIELD_HANDLE_ABORT) {
|