From 45eb5d13c9f44fc42339ff503c67a29c6160a20e Mon Sep 17 00:00:00 2001 From: "Adam D. Ruppe" Date: Thu, 28 Jul 2016 11:35:11 -0400 Subject: [PATCH] handle line feed in parse --- dom.d | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dom.d b/dom.d index 9d270f8..b3fbced 100644 --- a/dom.d +++ b/dom.d @@ -406,7 +406,7 @@ class Document : FileResource { } 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++; } @@ -415,7 +415,7 @@ class Document : FileResource { // basically just keep going until >, /, or whitespace auto start = 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++; if(pos == data.length) { @@ -437,7 +437,7 @@ class Document : FileResource { // basically just keep going until >, /, or whitespace auto start = 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(strict) @@ -977,6 +977,7 @@ class Document : FileResource { case ' ': case '\t': case '\n': + case '\r': // there might be attributes... moreAttributes: eatWhitespace();