Changeset 529
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bytelex.h
r163 r529 397 397 } 398 398 399 template<CodeUnit_Base C> 400 inline bool at_ASCII_letter(unsigned char x8data[]) { 401 switch (x8data[0]) { 402 case Ord<C, 'A'>::value: case Ord<C, 'a'>::value: 403 case Ord<C, 'B'>::value: case Ord<C, 'b'>::value: 404 case Ord<C, 'C'>::value: case Ord<C, 'c'>::value: 405 case Ord<C, 'D'>::value: case Ord<C, 'd'>::value: 406 case Ord<C, 'E'>::value: case Ord<C, 'e'>::value: 407 case Ord<C, 'F'>::value: case Ord<C, 'f'>::value: 408 case Ord<C, 'G'>::value: case Ord<C, 'g'>::value: 409 case Ord<C, 'H'>::value: case Ord<C, 'h'>::value: 410 case Ord<C, 'I'>::value: case Ord<C, 'i'>::value: 411 case Ord<C, 'J'>::value: case Ord<C, 'j'>::value: 412 case Ord<C, 'K'>::value: case Ord<C, 'k'>::value: 413 case Ord<C, 'L'>::value: case Ord<C, 'l'>::value: 414 case Ord<C, 'M'>::value: case Ord<C, 'm'>::value: 415 case Ord<C, 'N'>::value: case Ord<C, 'n'>::value: 416 case Ord<C, 'O'>::value: case Ord<C, 'o'>::value: 417 case Ord<C, 'P'>::value: case Ord<C, 'p'>::value: 418 case Ord<C, 'Q'>::value: case Ord<C, 'q'>::value: 419 case Ord<C, 'R'>::value: case Ord<C, 'r'>::value: 420 case Ord<C, 'S'>::value: case Ord<C, 's'>::value: 421 case Ord<C, 'T'>::value: case Ord<C, 't'>::value: 422 case Ord<C, 'U'>::value: case Ord<C, 'u'>::value: 423 case Ord<C, 'V'>::value: case Ord<C, 'v'>::value: 424 case Ord<C, 'W'>::value: case Ord<C, 'w'>::value: 425 case Ord<C, 'X'>::value: case Ord<C, 'x'>::value: 426 case Ord<C, 'Y'>::value: case Ord<C, 'y'>::value: 427 case Ord<C, 'Z'>::value: case Ord<C, 'z'>::value: 428 return true; 429 default: return false; 430 } 431 } 432 template<CodeUnit_Base C> 433 inline bool at_ASCII_ncnamechar(unsigned char x8data[]) { 434 switch (x8data[0]) { 435 case Ord<C, '0'>::value: case Ord<C, '1'>::value: 436 case Ord<C, '2'>::value: case Ord<C, '3'>::value: 437 case Ord<C, '4'>::value: case Ord<C, '5'>::value: 438 case Ord<C, '6'>::value: case Ord<C, '7'>::value: 439 case Ord<C, '8'>::value: case Ord<C, '9'>::value: 440 case Ord<C, 'A'>::value: case Ord<C, 'a'>::value: 441 case Ord<C, 'B'>::value: case Ord<C, 'b'>::value: 442 case Ord<C, 'C'>::value: case Ord<C, 'c'>::value: 443 case Ord<C, 'D'>::value: case Ord<C, 'd'>::value: 444 case Ord<C, 'E'>::value: case Ord<C, 'e'>::value: 445 case Ord<C, 'F'>::value: case Ord<C, 'f'>::value: 446 case Ord<C, 'G'>::value: case Ord<C, 'g'>::value: 447 case Ord<C, 'H'>::value: case Ord<C, 'h'>::value: 448 case Ord<C, 'I'>::value: case Ord<C, 'i'>::value: 449 case Ord<C, 'J'>::value: case Ord<C, 'j'>::value: 450 case Ord<C, 'K'>::value: case Ord<C, 'k'>::value: 451 case Ord<C, 'L'>::value: case Ord<C, 'l'>::value: 452 case Ord<C, 'M'>::value: case Ord<C, 'm'>::value: 453 case Ord<C, 'N'>::value: case Ord<C, 'n'>::value: 454 case Ord<C, 'O'>::value: case Ord<C, 'o'>::value: 455 case Ord<C, 'P'>::value: case Ord<C, 'p'>::value: 456 case Ord<C, 'Q'>::value: case Ord<C, 'q'>::value: 457 case Ord<C, 'R'>::value: case Ord<C, 'r'>::value: 458 case Ord<C, 'S'>::value: case Ord<C, 's'>::value: 459 case Ord<C, 'T'>::value: case Ord<C, 't'>::value: 460 case Ord<C, 'U'>::value: case Ord<C, 'u'>::value: 461 case Ord<C, 'V'>::value: case Ord<C, 'v'>::value: 462 case Ord<C, 'W'>::value: case Ord<C, 'w'>::value: 463 case Ord<C, 'X'>::value: case Ord<C, 'x'>::value: 464 case Ord<C, 'Y'>::value: case Ord<C, 'y'>::value: 465 case Ord<C, 'Z'>::value: case Ord<C, 'z'>::value: 466 case Ord<C, '-'>::value: case Ord<C, '.'>::value: 467 case Ord<C, '_'>::value: 468 return true; 469 default: return false; 470 } 471 } 399 472 template<CodeUnit_Base C> 400 473 inline bool at_PubidChar(unsigned char x8data[]) { -
trunk/src/xmldecl.c
r166 r529 127 127 128 128 template <CodeUnit_Base C> 129 inline void XML_Decl_Parser<C>::ScanToQuote() { 130 int quote_start_pos = buffer_rel_pos; 131 while (!AtQuote<C>(cur())) buffer_rel_pos+=1; 129 inline void XML_Decl_Parser<C>::ScanToEncodingName() { 130 int quote_start_pos = buffer_rel_pos; 131 if (at_ASCII_letter<C>(cur())) { 132 buffer_rel_pos+=1; 133 while (at_ASCII_ncnamechar<C>(cur())) buffer_rel_pos+=1; 134 } 132 135 if (buffer_rel_pos >= BYTEPLEX_SIZE) { 133 136 byteplex->AdvanceInputBuffer(quote_start_pos); … … 168 171 Advance(1); 169 172 int start_pos = AbsPos(); 170 ScanTo Quote();173 ScanToEncodingName(); 171 174 if (cur()[0] != quoteCh) DeclError(); 172 175 int lgth = AbsPos() - start_pos; -
trunk/src/xmldecl.h
r165 r529 113 113 void DeclError(); 114 114 void Scan_WS(); 115 void ScanTo Quote();115 void ScanToEncodingName(); 116 116 void ParseVersion(Entity_Info & e); 117 117 void ParseEncoding(Entity_Info & e);
Note: See TracChangeset
for help on using the changeset viewer.