Overview
Comment: | Don't treat \f as whitespace in XML. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
1c9c5367492164b5db504c74fd29d2f6 |
User & Date: | js on 2012-01-25 20:11:59 |
Other Links: | manifest | tags |
Context
2012-01-30
| ||
22:56 | The new Apple runtime requires +[load] in OFConstantString. check-in: 08389242d9 user: js tags: trunk | |
2012-01-25
| ||
20:11 | Don't treat \f as whitespace in XML. check-in: 1c9c536749 user: js tags: trunk | |
20:00 | Update Xcode project. check-in: 7d548c1262 user: js tags: trunk | |
Changes
Modified src/OFXMLParser.m from [90301d3556] to [14f7ba420b].
︙ | ︙ | |||
305 306 307 308 309 310 311 | i: (size_t*)i last: (size_t*)last { size_t length; if ((finishedParsing || [previous count] < 1) && buffer[*i] != ' ' && buffer[*i] != '\t' && buffer[*i] != '\n' && buffer[*i] != '\r' && | | | 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 | i: (size_t*)i last: (size_t*)last { size_t length; if ((finishedParsing || [previous count] < 1) && buffer[*i] != ' ' && buffer[*i] != '\t' && buffer[*i] != '\n' && buffer[*i] != '\r' && buffer[*i] != '<') @throw [OFMalformedXMLException exceptionWithClass: isa parser: self]; if (buffer[*i] != '<') return; if ((length = *i - *last) > 0) |
︙ | ︙ | |||
392 393 394 395 396 397 398 | cString = [pi UTF8String]; length = [pi UTF8StringLength]; for (i = last = 0; i < length; i++) { switch (piState) { case 0: if (cString[i] == ' ' || cString[i] == '\t' || | | < | 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 | cString = [pi UTF8String]; length = [pi UTF8StringLength]; for (i = last = 0; i < length; i++) { switch (piState) { case 0: if (cString[i] == ' ' || cString[i] == '\t' || cString[i] == '\r' || cString[i] == '\n') continue; last = i; piState = 1; i--; break; |
︙ | ︙ | |||
510 511 512 513 514 515 516 | { OFAutoreleasePool *pool; const char *cacheCString, *tmp; size_t length, cacheLength; OFString *cacheString; if (buffer[*i] != ' ' && buffer[*i] != '\t' && buffer[*i] != '\n' && | | < | 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 | { OFAutoreleasePool *pool; const char *cacheCString, *tmp; size_t length, cacheLength; OFString *cacheString; if (buffer[*i] != ' ' && buffer[*i] != '\t' && buffer[*i] != '\n' && buffer[*i] != '\r' && buffer[*i] != '>' && buffer[*i] != '/') return; if ((length = *i - *last) > 0) cache_append(cache, buffer + *last, encoding, length); pool = [[OFAutoreleasePool alloc] init]; |
︙ | ︙ | |||
602 603 604 605 606 607 608 | OFAutoreleasePool *pool; const char *cacheCString, *tmp; size_t length, cacheLength; OFString *cacheString; OFString *ns; if (buffer[*i] != ' ' && buffer[*i] != '\t' && buffer[*i] != '\n' && | | | 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 | OFAutoreleasePool *pool; const char *cacheCString, *tmp; size_t length, cacheLength; OFString *cacheString; OFString *ns; if (buffer[*i] != ' ' && buffer[*i] != '\t' && buffer[*i] != '\n' && buffer[*i] != '\r' && buffer[*i] != '>') return; if ((length = *i - *last) > 0) cache_append(cache, buffer + *last, encoding, length); pool = [[OFAutoreleasePool alloc] init]; |
︙ | ︙ | |||
673 674 675 676 677 678 679 | OFAutoreleasePool *pool; OFString *ns; OFXMLAttribute **attributesCArray; size_t j, attributesCount; if (buffer[*i] != '>' && buffer[*i] != '/') { if (buffer[*i] != ' ' && buffer[*i] != '\t' && | | < | 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 | OFAutoreleasePool *pool; OFString *ns; OFXMLAttribute **attributesCArray; size_t j, attributesCount; if (buffer[*i] != '>' && buffer[*i] != '/') { if (buffer[*i] != ' ' && buffer[*i] != '\t' && buffer[*i] != '\n' && buffer[*i] != '\r') { *last = *i; state = OF_XMLPARSER_IN_ATTR_NAME; (*i)--; } return; } |
︙ | ︙ | |||
790 791 792 793 794 795 796 | - (void)_parseExpectDelimiterWithBuffer: (const char*)buffer i: (size_t*)i last: (size_t*)last { *last = *i + 1; if (buffer[*i] == ' ' || buffer[*i] == '\t' || buffer[*i] == '\n' || | | | 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 | - (void)_parseExpectDelimiterWithBuffer: (const char*)buffer i: (size_t*)i last: (size_t*)last { *last = *i + 1; if (buffer[*i] == ' ' || buffer[*i] == '\t' || buffer[*i] == '\n' || buffer[*i] == '\r') return; if (buffer[*i] != '\'' && buffer[*i] != '"') @throw [OFMalformedXMLException exceptionWithClass: isa parser: self]; delimiter = buffer[*i]; |
︙ | ︙ | |||
867 868 869 870 871 872 873 | i: (size_t*)i last: (size_t*)last { if (buffer[*i] == '>') { *last = *i + 1; state = OF_XMLPARSER_OUTSIDE_TAG; } else if (buffer[*i] != ' ' && buffer[*i] != '\t' && | | | 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 | i: (size_t*)i last: (size_t*)last { if (buffer[*i] == '>') { *last = *i + 1; state = OF_XMLPARSER_OUTSIDE_TAG; } else if (buffer[*i] != ' ' && buffer[*i] != '\t' && buffer[*i] != '\n' && buffer[*i] != '\r') @throw [OFMalformedXMLException exceptionWithClass: isa parser: self]; } /* In <! */ - (void)_parseInExclamationMarkWithBuffer: (const char*)buffer i: (size_t*)i |
︙ | ︙ | |||
1017 1018 1019 1020 1021 1022 1023 | /* In <!DOCTYPE ...> */ - (void)_parseInDoctypeWithBuffer: (const char*)buffer i: (size_t*)i last: (size_t*)last { if ((level < 6 && buffer[*i] != "OCTYPE"[level]) || (level == 6 && buffer[*i] != ' ' && buffer[*i] != '\t' && | | | 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 | /* In <!DOCTYPE ...> */ - (void)_parseInDoctypeWithBuffer: (const char*)buffer i: (size_t*)i last: (size_t*)last { if ((level < 6 && buffer[*i] != "OCTYPE"[level]) || (level == 6 && buffer[*i] != ' ' && buffer[*i] != '\t' && buffer[*i] != '\n' && buffer[*i] != '\r')) @throw [OFMalformedXMLException exceptionWithClass: isa parser: self]; if (level < 7 || buffer[*i] == '<') level++; if (buffer[*i] == '>') { |
︙ | ︙ |