Lines Matching +refs:lex +refs:attr

94 static const char *lex2str(int lex)  in lex2str()  argument
96 switch(lex) in lex2str()
130 int lex; in my_xml_scan() local
138 lex=MY_XML_EOF; in my_xml_scan()
156 lex=MY_XML_COMMENT; in my_xml_scan()
170 lex= MY_XML_CDATA; in my_xml_scan()
176 lex=a->beg[0]; in my_xml_scan()
193 lex=MY_XML_STRING; in my_xml_scan()
202 lex=MY_XML_IDENT; in my_xml_scan()
205 lex= MY_XML_UNKNOWN; in my_xml_scan()
208 printf("LEX=%s[%d]\n",lex2str(lex),a->end-a->beg); in my_xml_scan()
212 return lex; in my_xml_scan()
236 size_t ofs= st->attr.end - st->attr.start; in my_xml_attr_ensure_space()
238 if (ofs + len > st->attr.buffer_size) in my_xml_attr_ensure_space()
240 st->attr.buffer_size= (SIZE_T_MAX - len) / 2 > st->attr.buffer_size ? in my_xml_attr_ensure_space()
241 st->attr.buffer_size * 2 + len : SIZE_T_MAX; in my_xml_attr_ensure_space()
243 if (!st->attr.buffer) in my_xml_attr_ensure_space()
245 st->attr.buffer= (char *) my_str_malloc(st->attr.buffer_size); in my_xml_attr_ensure_space()
246 if (st->attr.buffer) in my_xml_attr_ensure_space()
247 memcpy(st->attr.buffer, st->attr.static_buffer, ofs + 1 /*term. zero */); in my_xml_attr_ensure_space()
250 st->attr.buffer= (char *) my_str_realloc(st->attr.buffer, in my_xml_attr_ensure_space()
251 st->attr.buffer_size); in my_xml_attr_ensure_space()
252 st->attr.start= st->attr.buffer; in my_xml_attr_ensure_space()
253 st->attr.end= st->attr.start + ofs; in my_xml_attr_ensure_space()
255 return st->attr.buffer ? MY_XML_OK : MY_XML_ERROR; in my_xml_attr_ensure_space()
265 p->attr.end= p->attr.start; in my_xml_attr_rewind()
274 if (st->attr.end > st->attr.start) in my_xml_enter()
276 st->attr.end[0]= '/'; in my_xml_enter()
277 st->attr.end++; in my_xml_enter()
279 memcpy(st->attr.end, str, len); in my_xml_enter()
280 st->attr.end+= len; in my_xml_enter()
281 st->attr.end[0]= '\0'; in my_xml_enter()
286 st->enter(st, st->attr.start, st->attr.end - st->attr.start) : MY_XML_OK; in my_xml_enter()
307 for (e= p->attr.end; (e > p->attr.start) && (e[0] != '/') ; e--); in my_xml_leave()
308 glen= (size_t) ((e[0] == '/') ? (p->attr.end - e - 1) : p->attr.end - e); in my_xml_leave()
327 p->leave_xml(p, p->attr.start, p->attr.end - p->attr.start) : in my_xml_leave()
331 p->attr.end= e; in my_xml_leave()
351 int lex; in my_xml_parse() local
355 lex=my_xml_scan(p,&a); in my_xml_parse()
357 if (MY_XML_COMMENT == lex) in my_xml_parse()
360 if (lex == MY_XML_CDATA) in my_xml_parse()
368 lex=my_xml_scan(p,&a); in my_xml_parse()
370 if (MY_XML_SLASH == lex) in my_xml_parse()
372 if (MY_XML_IDENT != (lex=my_xml_scan(p,&a))) in my_xml_parse()
374 sprintf(p->errstr,"%s unexpected (ident wanted)",lex2str(lex)); in my_xml_parse()
379 lex=my_xml_scan(p,&a); in my_xml_parse()
383 if (MY_XML_EXCLAM == lex) in my_xml_parse()
385 lex=my_xml_scan(p,&a); in my_xml_parse()
388 else if (MY_XML_QUESTION == lex) in my_xml_parse()
390 lex=my_xml_scan(p,&a); in my_xml_parse()
394 if (MY_XML_IDENT == lex) in my_xml_parse()
403 lex2str(lex)); in my_xml_parse()
407 while ((MY_XML_IDENT == (lex=my_xml_scan(p,&a))) || in my_xml_parse()
408 ((MY_XML_STRING == lex && exclam))) in my_xml_parse()
411 if (MY_XML_EQ == (lex=my_xml_scan(p,&b))) in my_xml_parse()
413 lex=my_xml_scan(p,&b); in my_xml_parse()
414 if ( (lex == MY_XML_IDENT) || (lex == MY_XML_STRING) ) in my_xml_parse()
425 lex2str(lex)); in my_xml_parse()
429 else if (MY_XML_IDENT == lex) in my_xml_parse()
436 else if ((MY_XML_STRING == lex) && exclam) in my_xml_parse()
449 if (lex == MY_XML_SLASH) in my_xml_parse()
453 lex=my_xml_scan(p,&a); in my_xml_parse()
459 if (lex != MY_XML_QUESTION) in my_xml_parse()
461 sprintf(p->errstr,"%s unexpected ('?' wanted)",lex2str(lex)); in my_xml_parse()
466 lex=my_xml_scan(p,&a); in my_xml_parse()
475 if (lex != MY_XML_GT) in my_xml_parse()
477 sprintf(p->errstr,"%s unexpected ('>' wanted)",lex2str(lex)); in my_xml_parse()
496 if (p->attr.start[0]) in my_xml_parse()
511 p->attr.start= p->attr.end= p->attr.static_buffer; in my_xml_parser_create()
512 p->attr.buffer_size= sizeof(p->attr.static_buffer); in my_xml_parser_create()
518 if (p->attr.buffer) in my_xml_parser_free()
520 my_str_free(p->attr.buffer); in my_xml_parser_free()
521 p->attr.buffer= NULL; in my_xml_parser_free()