summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2006-12-28 01:51:46 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2006-12-28 01:51:46 (UTC)
commit05b13194b4b40a2614692125d5037ef20c5fb20e (patch) (unidiff)
tree5f22ac2e53d5ea3cb8fc50e2ca59c524a7180574
parent732d68d240b95dc428c92fc94bce9adb8912094e (diff)
downloadcgit-05b13194b4b40a2614692125d5037ef20c5fb20e.zip
cgit-05b13194b4b40a2614692125d5037ef20c5fb20e.tar.gz
cgit-05b13194b4b40a2614692125d5037ef20c5fb20e.tar.bz2
Handle '+' in querystring
Translate '+' to ' ' in querystring parser (still doesn't handle %xx) Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--parsing.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/parsing.c b/parsing.c
index 4d5cc74..1b22fcf 100644
--- a/parsing.c
+++ b/parsing.c
@@ -89,12 +89,14 @@ int cgit_parse_query(char *txt, configfn fn)
89 t = txt = xstrdup(txt); 89 t = txt = xstrdup(txt);
90 90
91 while((c=*t) != '\0') { 91 while((c=*t) != '\0') {
92 if (c=='=') { 92 if (c=='=') {
93 *t = '\0'; 93 *t = '\0';
94 value = t+1; 94 value = t+1;
95 } else if (c=='+') {
96 *t = ' ';
95 } else if (c=='&') { 97 } else if (c=='&') {
96 *t = '\0'; 98 *t = '\0';
97 (*fn)(txt, value); 99 (*fn)(txt, value);
98 txt = t+1; 100 txt = t+1;
99 value = NULL; 101 value = NULL;
100 } 102 }