2014-04-02 12:06 PM
Hi,
I use LwIP stack with FreeRTOS and STM32F4 Discovery. I use it like web server. And I want parse POST parameters. And parse header for read Cookies. I wrote lot of functions. Some functions was good in one browser, but in other browsers was problem. I don't know why? For example this function:int
POST_parametry(
char
* uri){
char
* params_uri;
char
* equals;
char
* pair;
char
* pair1;
char
* cookie;
int
loop;
int
stop = 1;
params_uri = strstr(uri,
''\r\n\r\n''
);
pair = params_uri+4;
for
(loop=0; (loop < LWIP_HTTPD_MAX_CGI_PARAMETERS) && pair; loop++){
p_params[loop] = pair;
equals = pair;
pair = strchr(pair,
'&'
);
if
(pair) {
*pair =
'\0'
;
pair++;
}
else
{
pair = strchr(equals,
' '
);
if
(pair) {
*pair =
'\0'
;
}
pair = NULL;
}
equals = strchr(equals,
'='
);
if
(equals) {
*equals =
'\0'
;
p_values[loop] = equals + 1;
}
else
{
p_values[loop] = NULL;
}
}
return
loop;
}
Sometimes parsed data isn't correct.
Can you help me please? Or post some function for parse data?
I need for my diploma thesis and I haven't lot of time.
Thank you
2014-04-02 12:38 PM
I don't know why?
Make it stand-alone, grab half a dozen test cases, encode these in your test framework, and build it on a PC based compiler/tool-chain so you can instrument it, and debug it.2014-04-03 12:15 AM
This is not an STM32-specific question, thus better be asked on an lwip-related forum, such as https://lists.nongnu.org/mailman/listinfo/lwip-users .
> Sometimes parsed data isn't correct. You should start with being more specific with this - what are then inputs to the function, what are the parsed outputs and how do the results fail short of your expectations. JW