Код
uint32_t XML_PARSER_FindElementEnd(char *xml_str, char* el_name, char* pchr)
{
uint32_t el_size = strlen(el_name);
char buf[el_size+4];
memcpy(&buf[0], "<", 1);
memcpy(&buf[1], el_name, el_size);
memcpy(&buf[el_size+1], "/>\0", 3);
pchr = strstr(xml_str, buf);
if(pchr == NULL) return 0;
else return 1;
}
{
uint32_t el_size = strlen(el_name);
char buf[el_size+4];
memcpy(&buf[0], "<", 1);
memcpy(&buf[1], el_name, el_size);
memcpy(&buf[el_size+1], "/>\0", 3);
pchr = strstr(xml_str, buf);
if(pchr == NULL) return 0;
else return 1;
}
Внутри функции pchr принимает правильное значение, все прекрасно.
Проверяем
Код
uint32_t XML_PARSER_NewElement(char *xml_str, char *parent, char* el_name)
{
char *pchr_test=NULL;
if (!XML_PARSER_FindElementEnd(xml_str, parent, pchr_test));
return 0;
}
{
char *pchr_test=NULL;
if (!XML_PARSER_FindElementEnd(xml_str, parent, pchr_test));
return 0;
}
pchr_test остается 0. Подскажите где ошибка.