version 1.1.1.1, 2012/02/21 23:16:02
|
version 1.1.1.3, 2013/07/22 00:32:35
|
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) |
{ |
{ |
i++; p->xml++; | /* CDATA handling */ |
if (p->xml >= p->xmlend) | p->xml += 9; |
return; | 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; |
| } |
} |
} |
if(i>0 && p->datafunc) | else |
p->datafunc(p->data, data, i); | { |
| while(*p->xml!='<') |
| { |
| i++; p->xml++; |
| if ((p->xml + 1) >= p->xmlend) |
| return; |
| } |
| if(i>0 && p->datafunc && *(p->xml + 1) == '/') |
| p->datafunc(p->data, data, i); |
| } |
} |
} |
} |
} |
else if(*p->xml == '/') |
else if(*p->xml == '/') |