| 188 | } |
| 189 | |
| 190 | char* StrPair::ParseText(char* p, const char* endTag, int strFlags, int* curLineNumPtr) |
| 191 | { |
| 192 | TIXMLASSERT(p); |
| 193 | TIXMLASSERT(endTag && *endTag); |
| 194 | TIXMLASSERT(curLineNumPtr); |
| 195 | |
| 196 | char* start = p; |
| 197 | char endChar = *endTag; |
| 198 | size_t length = strlen(endTag); |
| 199 | |
| 200 | // Inner loop of text parsing. |
| 201 | while (*p) |
| 202 | { |
| 203 | if (*p == endChar && strncmp(p, endTag, length) == 0) |
| 204 | { |
| 205 | Set(start, p, strFlags); |
| 206 | return p + length; |
| 207 | } |
| 208 | else if (*p == '\n') |
| 209 | { |
| 210 | ++(*curLineNumPtr); |
| 211 | } |
| 212 | ++p; |
| 213 | TIXMLASSERT(p); |
| 214 | } |
| 215 | return 0; |
| 216 | } |
| 217 | |
| 218 | char* StrPair::ParseName(char* p) |
| 219 | { |