This commit is contained in:
Olof hagsand 2017-04-15 14:01:06 +02:00
parent d26a801bc0
commit d8fa7bc033

View file

@ -1016,10 +1016,11 @@ clicon_xml_parse_file(int fd,
cxobj **cx, cxobj **cx,
char *endtag) char *endtag)
{ {
int retval = -1;
int ret;
int len = 0; int len = 0;
char ch; char ch;
int retval; char *xmlbuf = NULL;
char *xmlbuf;
char *ptr; char *ptr;
int maxbuf = BUFLEN; int maxbuf = BUFLEN;
int endtaglen = strlen(endtag); int endtaglen = strlen(endtag);
@ -1038,23 +1039,22 @@ clicon_xml_parse_file(int fd,
memset(xmlbuf, 0, maxbuf); memset(xmlbuf, 0, maxbuf);
ptr = xmlbuf; ptr = xmlbuf;
while (1){ while (1){
if ((retval = read(fd, &ch, 1)) < 0){ if ((ret = read(fd, &ch, 1)) < 0){
clicon_err(OE_XML, errno, "%s: read: [pid:%d]\n", clicon_err(OE_XML, errno, "%s: read: [pid:%d]\n",
__FUNCTION__, __FUNCTION__,
(int)getpid()); (int)getpid());
break; break;
} }
if (retval != 0){ if (ret != 0){
state = FSM(endtag, ch, state); state = FSM(endtag, ch, state);
xmlbuf[len++] = ch; xmlbuf[len++] = ch;
} }
if (retval == 0 || state == endtaglen){ if (ret == 0 || state == endtaglen){
state = 0; state = 0;
if ((*cx = xml_new("top", NULL)) == NULL) if ((*cx = xml_new("top", NULL)) == NULL)
break; break;
if (xml_parse(ptr, *cx) < 0){ if (xml_parse(ptr, *cx) < 0){
goto done; goto done;
return -1;
} }
break; break;
} }