version 1.1.1.1.2.2, 2012/03/09 10:03:21
|
version 1.1.1.1.2.5, 2012/03/09 13:24:58
|
Line 135 www_initCGI(void)
|
Line 135 www_initCGI(void)
|
if (!str) { |
if (!str) { |
LOGERR; |
LOGERR; |
return NULL; |
return NULL; |
} | } else |
| memset(str, 0, ctlen + 1); |
for (i = 0; i < ctlen && (rlen = |
for (i = 0; i < ctlen && (rlen = |
read(STDIN_FILENO, (void*) str + i, ctlen - i)) > 0; i += rlen); |
read(STDIN_FILENO, (void*) str + i, ctlen - i)) > 0; i += rlen); |
str[ctlen] = 0; |
str[ctlen] = 0; |
Line 348 www_delPair(cgi_t * __restrict cgi, const char *name)
|
Line 349 www_delPair(cgi_t * __restrict cgi, const char *name)
|
} |
} |
|
|
/* |
/* |
|
* www_listPairs() - Walk over CGI session variables |
|
* |
|
* @cgi = Cgi session |
|
* @func = If !=NULL call function for each element |
|
* @arg = Optional argument pass through callback |
|
* return: -1 error or >-1 number of elements |
|
*/ |
|
inline int |
|
www_listPairs(cgi_t * __restrict cgi, list_cb_t func, void *arg) |
|
{ |
|
register int ret = 0; |
|
struct tagCGI *t; |
|
|
|
if (!cgi) { |
|
www_SetErr(EINVAL, "Invalid CGI session argument"); |
|
return -1; |
|
} |
|
|
|
SLIST_FOREACH(t, cgi, cgi_node) { |
|
ret++; |
|
|
|
if (func) |
|
func(t, arg); |
|
} |
|
|
|
return ret; |
|
} |
|
|
|
/* |
* www_header() - Output initial html header |
* www_header() - Output initial html header |
* |
* |
* @output = file handle |
* @output = file handle |
Line 495 www_parseMultiPart(const char *str, int ctlen, const c
|
Line 525 www_parseMultiPart(const char *str, int ctlen, const c
|
} |
} |
mime = mime_parseMultiPart(str, ctlen, www_getAttribute(attr, "boundary"), NULL); |
mime = mime_parseMultiPart(str, ctlen, www_getAttribute(attr, "boundary"), NULL); |
www_freeAttributes(&attr); |
www_freeAttributes(&attr); |
|
if (!mime) { |
|
www_closeCGI(&cgi); |
|
return NULL; |
|
} |
|
|
SLIST_FOREACH(m, mime, mime_node) { |
SLIST_FOREACH(m, mime, mime_node) { |
s = mime_getValue(m, "content-disposition"); |
s = mime_getValue(m, "content-disposition"); |