handle line feed in parse

This commit is contained in:
Adam D. Ruppe 2016-07-28 11:35:11 -04:00
parent 272467c421
commit 45eb5d13c9
1 changed files with 4 additions and 3 deletions

7
dom.d
View File

@ -406,7 +406,7 @@ class Document : FileResource {
} }
void eatWhitespace() { void eatWhitespace() {
while(pos < data.length && (data[pos] == ' ' || data[pos] == '\n' || data[pos] == '\t')) while(pos < data.length && (data[pos] == ' ' || data[pos] == '\n' || data[pos] == '\t' || data[pos] == '\r'))
pos++; pos++;
} }
@ -415,7 +415,7 @@ class Document : FileResource {
// basically just keep going until >, /, or whitespace // basically just keep going until >, /, or whitespace
auto start = pos; auto start = pos;
while( data[pos] != '>' && data[pos] != '/' && while( data[pos] != '>' && data[pos] != '/' &&
data[pos] != ' ' && data[pos] != '\n' && data[pos] != '\t') data[pos] != ' ' && data[pos] != '\n' && data[pos] != '\t' && data[pos] != '\r')
{ {
pos++; pos++;
if(pos == data.length) { if(pos == data.length) {
@ -437,7 +437,7 @@ class Document : FileResource {
// basically just keep going until >, /, or whitespace // basically just keep going until >, /, or whitespace
auto start = pos; auto start = pos;
while( data[pos] != '>' && data[pos] != '/' && data[pos] != '=' && while( data[pos] != '>' && data[pos] != '/' && data[pos] != '=' &&
data[pos] != ' ' && data[pos] != '\n' && data[pos] != '\t') data[pos] != ' ' && data[pos] != '\n' && data[pos] != '\t' && data[pos] != '\r')
{ {
if(data[pos] == '<') { if(data[pos] == '<') {
if(strict) if(strict)
@ -977,6 +977,7 @@ class Document : FileResource {
case ' ': case ' ':
case '\t': case '\t':
case '\n': case '\n':
case '\r':
// there might be attributes... // there might be attributes...
moreAttributes: moreAttributes:
eatWhitespace(); eatWhitespace();