|
@@ -56,8 +56,14 @@ url_encoded_field_found(const char *key,
|
|
struct mg_form_data_handler *fdh)
|
|
struct mg_form_data_handler *fdh)
|
|
{
|
|
{
|
|
/* Call callback */
|
|
/* Call callback */
|
|
- /* TODO: mg_url_decode(key, (size_t)keylen, ) */
|
|
|
|
- return fdh->field_found(key, keylen, filename, disposition, fdh->user_data);
|
|
|
|
|
|
+ char key_dec[1024];
|
|
|
|
+ int ret =
|
|
|
|
+ mg_url_decode(key, (size_t)keylen, key_dec, (int)sizeof(key_dec), 1);
|
|
|
|
+ if ((ret < sizeof(key_dec)) && (ret >= 0)) {
|
|
|
|
+ return fdh->field_found(
|
|
|
|
+ key, keylen, filename, disposition, fdh->user_data);
|
|
|
|
+ }
|
|
|
|
+ return 0; /* SKIP; */
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -187,7 +193,7 @@ mg_handle_form_data(struct mg_connection *conn,
|
|
|
|
|
|
/* Call callback */
|
|
/* Call callback */
|
|
fdh->field_found(
|
|
fdh->field_found(
|
|
- buf, (size_t)keylen, val, (size_t)vallen, fdh->user_data);
|
|
|
|
|
|
+ buf, (size_t)keylen, NULL, &disposition, fdh->user_data);
|
|
|
|
|
|
/* Proceed to next entry */
|
|
/* Proceed to next entry */
|
|
used = next - buf;
|
|
used = next - buf;
|