| 205 | |
| 206 | |
| 207 | char* StrPair::ParseText( char* p, const char* endTag, int strFlags, int* curLineNumPtr ) |
| 208 | { |
| 209 | TIXMLASSERT( p ); |
| 210 | TIXMLASSERT( endTag && *endTag ); |
| 211 | TIXMLASSERT(curLineNumPtr); |
| 212 | |
| 213 | char* start = p; |
| 214 | const char endChar = *endTag; |
| 215 | size_t length = strlen( endTag ); |
| 216 | |
| 217 | // Inner loop of text parsing. |
| 218 | while ( *p ) { |
| 219 | if ( *p == endChar && strncmp( p, endTag, length ) == 0 ) { |
| 220 | Set( start, p, strFlags ); |
| 221 | return p + length; |
| 222 | } else if (*p == '\n') { |
| 223 | ++(*curLineNumPtr); |
| 224 | } |
| 225 | ++p; |
| 226 | TIXMLASSERT( p ); |
| 227 | } |
| 228 | return 0; |
| 229 | } |
| 230 | |
| 231 | |
| 232 | char* StrPair::ParseName( char* p ) |