version 1.1, 2012/02/21 23:16:02
|
version 1.1.1.2, 2012/05/29 12:55:57
|
Line 4
|
Line 4
|
* webpage: http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ |
* webpage: http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ |
* Author : Thomas Bernard |
* Author : Thomas Bernard |
|
|
Copyright (c) 2005-2009, Thomas BERNARD | Copyright (c) 2005-2011, Thomas BERNARD |
All rights reserved. |
All rights reserved. |
|
|
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
Line 30 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGE
|
Line 30 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGE
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
POSSIBILITY OF SUCH DAMAGE. |
POSSIBILITY OF SUCH DAMAGE. |
*/ |
*/ |
|
#include <string.h> |
#include "minixml.h" |
#include "minixml.h" |
|
|
/* parseatt : used to parse the argument list |
/* parseatt : used to parse the argument list |
Line 143 static void parseelt(struct xmlparser * p)
|
Line 144 static void parseelt(struct xmlparser * p)
|
return; |
return; |
while( IS_WHITE_SPACE(*p->xml) ) |
while( IS_WHITE_SPACE(*p->xml) ) |
{ |
{ |
p->xml++; | i++; p->xml++; |
if (p->xml >= p->xmlend) |
if (p->xml >= p->xmlend) |
return; |
return; |
} |
} |
while(*p->xml!='<') | if(memcmp(p->xml, "<![CDATA[", 9) == 0) |
| { |
| /* CDATA handling */ |
| p->xml += 9; |
| data = p->xml; |
| i = 0; |
| while(memcmp(p->xml, "]]>", 3) != 0) |
| { |
| i++; p->xml++; |
| if ((p->xml + 3) >= p->xmlend) |
| return; |
| } |
| if(i>0 && p->datafunc) |
| p->datafunc(p->data, data, i); |
| while(*p->xml!='<') |
| { |
| p->xml++; |
| if (p->xml >= p->xmlend) |
| return; |
| } |
| } |
| else |
{ |
{ |
i++; p->xml++; | while(*p->xml!='<') |
if (p->xml >= p->xmlend) | { |
return; | i++; p->xml++; |
| if ((p->xml + 1) >= p->xmlend) |
| return; |
| } |
| if(i>0 && p->datafunc && *(p->xml + 1) == '/') |
| p->datafunc(p->data, data, i); |
} |
} |
if(i>0 && p->datafunc) |
|
p->datafunc(p->data, data, i); |
|
} |
} |
} |
} |
else if(*p->xml == '/') |
else if(*p->xml == '/') |