version 1.62, 2014/07/11 22:25:44 |
version 1.63, 2014/07/11 22:27:35 |
Line 165 html_printquery(const struct req *req) |
|
Line 165 html_printquery(const struct req *req) |
|
} |
} |
if (NULL != req->q.expr) { |
if (NULL != req->q.expr) { |
printf("&expr="); |
printf("&expr="); |
html_print(req->q.expr ? req->q.expr : ""); |
html_print(req->q.expr); |
} |
} |
} |
} |
|
|
|
|
http_decode(char *p) |
http_decode(char *p) |
{ |
{ |
char hex[3]; |
char hex[3]; |
|
char *q; |
int c; |
int c; |
|
|
hex[2] = '\0'; |
hex[2] = '\0'; |
|
|
for ( ; '\0' != *p; p++) { |
q = p; |
|
for ( ; '\0' != *p; p++, q++) { |
if ('%' == *p) { |
if ('%' == *p) { |
if ('\0' == (hex[0] = *(p + 1))) |
if ('\0' == (hex[0] = *(p + 1))) |
return(0); |
return(0); |
Line 299 http_decode(char *p) |
|
Line 301 http_decode(char *p) |
|
if ('\0' == c) |
if ('\0' == c) |
return(0); |
return(0); |
|
|
*p = (char)c; |
*q = (char)c; |
memmove(p + 1, p + 3, strlen(p + 3) + 1); |
p += 2; |
} else |
} else |
*p = '+' == *p ? ' ' : *p; |
*q = '+' == *p ? ' ' : *p; |
} |
} |
|
|
*p = '\0'; |
*q = '\0'; |
return(1); |
return(1); |
} |
} |
|
|