libsoup r1220 - in trunk: . libsoup tests
- From: danw svn gnome org
- To: svn-commits-list gnome org
- Subject: libsoup r1220 - in trunk: . libsoup tests
- Date: Fri, 5 Dec 2008 03:57:06 +0000 (UTC)
Author: danw
Date: Fri Dec 5 03:57:05 2008
New Revision: 1220
URL: http://svn.gnome.org/viewvc/libsoup?rev=1220&view=rev
Log:
* libsoup/soup-form.c (soup_form_decode): Correctly handle forms
that have URI-encoded parameter names. #563302, Evan Nemerson.
* tests/forms-test.c: test that
Modified:
trunk/ChangeLog
trunk/libsoup/soup-form.c
trunk/tests/forms-test.c
Modified: trunk/libsoup/soup-form.c
==============================================================================
--- trunk/libsoup/soup-form.c (original)
+++ trunk/libsoup/soup-form.c Fri Dec 5 03:57:05 2008
@@ -90,15 +90,15 @@
for (i = 0; pairs[i]; i++) {
name = pairs[i];
eq = strchr (name, '=');
- if (!form_decode (name)) {
- g_free (name);
- continue;
- }
if (eq) {
*eq = '\0';
value = eq + 1;
} else
value = NULL;
+ if (!form_decode (name) || (value && !form_decode (value))) {
+ g_free (name);
+ continue;
+ }
g_hash_table_insert (form_data_set, name, value);
}
Modified: trunk/tests/forms-test.c
==============================================================================
--- trunk/tests/forms-test.c (original)
+++ trunk/tests/forms-test.c Fri Dec 5 03:57:05 2008
@@ -72,7 +72,7 @@
g_ptr_array_add (args, title_arg);
}
if (tests[n].name) {
- name_arg = soup_form_encode ("name", tests[n].name, NULL);
+ name_arg = soup_form_encode ("n me", tests[n].name, NULL);
g_ptr_array_add (args, "-d");
g_ptr_array_add (args, name_arg);
}
@@ -238,7 +238,7 @@
if (query) {
title = g_hash_table_lookup (query, "title");
- name = g_hash_table_lookup (query, "name");
+ name = g_hash_table_lookup (query, "n me");
fmt = g_hash_table_lookup (query, "fmt");
} else
title = name = fmt = NULL;
@@ -254,7 +254,7 @@
}
g_string_append (buf, "<form action='/hello' method='get'>"
"<p>Title: <input name='title'></p>"
- "<p>Name: <input name='name'></p>"
+ "<p>Name: <input name='n me'></p>"
"<p><input type=hidden name='fmt' value='html'></p>"
"<p><input type=submit></p>"
"</form>\r\n");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]