aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/eina/src/lib/eina_simple_xml_parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/eina/src/lib/eina_simple_xml_parser.c')
-rw-r--r--libraries/eina/src/lib/eina_simple_xml_parser.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/libraries/eina/src/lib/eina_simple_xml_parser.c b/libraries/eina/src/lib/eina_simple_xml_parser.c
index 08a8259..4e357ba 100644
--- a/libraries/eina/src/lib/eina_simple_xml_parser.c
+++ b/libraries/eina/src/lib/eina_simple_xml_parser.c
@@ -38,7 +38,10 @@ extern "C"
38void *alloca (size_t); 38void *alloca (size_t);
39#endif 39#endif
40 40
41#include <strings.h> 41#ifdef HAVE_STRINGS_H
42# include <strings.h>
43#endif
44#include <stdlib.h>
42#include <string.h> 45#include <string.h>
43#include <ctype.h> 46#include <ctype.h>
44 47
@@ -121,7 +124,7 @@ static inline const char *
121_eina_simple_xml_whitespace_find(const char *itr, const char *itr_end) 124_eina_simple_xml_whitespace_find(const char *itr, const char *itr_end)
122{ 125{
123 for (; itr < itr_end; itr++) 126 for (; itr < itr_end; itr++)
124 if (isspace(*itr)) break; 127 if (isspace((unsigned char)*itr)) break;
125 return itr; 128 return itr;
126} 129}
127 130
@@ -129,7 +132,7 @@ static inline const char *
129_eina_simple_xml_whitespace_skip(const char *itr, const char *itr_end) 132_eina_simple_xml_whitespace_skip(const char *itr, const char *itr_end)
130{ 133{
131 for (; itr < itr_end; itr++) 134 for (; itr < itr_end; itr++)
132 if (!isspace(*itr)) break; 135 if (!isspace((unsigned char)*itr)) break;
133 return itr; 136 return itr;
134} 137}
135 138
@@ -137,7 +140,7 @@ static inline const char *
137_eina_simple_xml_whitespace_unskip(const char *itr, const char *itr_start) 140_eina_simple_xml_whitespace_unskip(const char *itr, const char *itr_start)
138{ 141{
139 for (itr--; itr > itr_start; itr--) 142 for (itr--; itr > itr_start; itr--)
140 if (!isspace(*itr)) break; 143 if (!isspace((unsigned char)*itr)) break;
141 return itr + 1; 144 return itr + 1;
142} 145}
143 146
@@ -309,7 +312,7 @@ eina_simple_xml_parse(const char *buf, unsigned buflen, Eina_Bool strip, Eina_Si
309 (!memcmp(itr + 2, "DOCTYPE", 312 (!memcmp(itr + 2, "DOCTYPE",
310 sizeof("DOCTYPE") - 1)) && 313 sizeof("DOCTYPE") - 1)) &&
311 ((itr[2 + sizeof("DOCTYPE") - 1] == '>') || 314 ((itr[2 + sizeof("DOCTYPE") - 1] == '>') ||
312 (isspace(itr[2 + sizeof("DOCTYPE") - 1])))) 315 (isspace((unsigned char)itr[2 + sizeof("DOCTYPE") - 1]))))
313 { 316 {
314 type = EINA_SIMPLE_XML_DOCTYPE; 317 type = EINA_SIMPLE_XML_DOCTYPE;
315 toff = sizeof("!DOCTYPE") - 1; 318 toff = sizeof("!DOCTYPE") - 1;
@@ -455,7 +458,7 @@ eina_simple_xml_tag_attributes_find(const char *buf, unsigned buflen)
455 458
456 for (; itr < itr_end; itr++) 459 for (; itr < itr_end; itr++)
457 { 460 {
458 if (!isspace(*itr)) 461 if (!isspace((unsigned char)*itr))
459 { 462 {
460 /* user skip tagname and already gave it the attributes */ 463 /* user skip tagname and already gave it the attributes */
461 if (*itr == '=') 464 if (*itr == '=')
@@ -492,7 +495,7 @@ eina_simple_xml_attributes_parse(const char *buf, unsigned buflen, Eina_Simple_X
492 495
493 key = p; 496 key = p;
494 for (key_end = key; key_end < itr_end; key_end++) 497 for (key_end = key; key_end < itr_end; key_end++)
495 if ((*key_end == '=') || (isspace(*key_end))) break; 498 if ((*key_end == '=') || (isspace((unsigned char)*key_end))) break;
496 if (key_end == itr_end) return EINA_FALSE; 499 if (key_end == itr_end) return EINA_FALSE;
497 if (key_end == key) continue; 500 if (key_end == key) continue;
498 501
@@ -504,7 +507,7 @@ eina_simple_xml_attributes_parse(const char *buf, unsigned buflen, Eina_Simple_X
504 value++; 507 value++;
505 } 508 }
506 for (; value < itr_end; value++) 509 for (; value < itr_end; value++)
507 if (!isspace(*value)) break; 510 if (!isspace((unsigned char)*value)) break;
508 if (value == itr_end) return EINA_FALSE; 511 if (value == itr_end) return EINA_FALSE;
509 512
510 if ((*value == '"') || (*value == '\'')) 513 if ((*value == '"') || (*value == '\''))