Unidiff1 files changed, 2 insertions, 0 deletions
|
diff --git a/parsing.c b/parsing.c index 4d5cc74..1b22fcf 100644 --- a/ parsing.c+++ b/ parsing.c |
|
@@ -83,24 +83,26 @@ int cgit_parse_query(char *txt, configfn fn) |
83 | { |
83 | { |
84 | char *t, *value = NULL, c; |
84 | char *t, *value = NULL, c; |
85 | |
85 | |
86 | if (!txt) |
86 | if (!txt) |
87 | return 0; |
87 | return 0; |
88 | |
88 | |
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 | } |
101 | t++; |
103 | t++; |
102 | } |
104 | } |
103 | if (t!=txt) |
105 | if (t!=txt) |
104 | (*fn)(txt, value); |
106 | (*fn)(txt, value); |
105 | return 0; |
107 | return 0; |
106 | } |
108 | } |
|