From c994bcc637482ebb28a9f40f4c7cc3f32a534b32 Mon Sep 17 00:00:00 2001 From: "rickg%netscape.com" Date: Mon, 22 Feb 1999 23:17:05 +0000 Subject: [PATCH] fixed bug 2946 git-svn-id: svn://10.0.0.236/trunk@21499 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/htmlparser/src/nsHTMLTokens.cpp | 10 +++++++++- mozilla/parser/htmlparser/src/nsHTMLTokens.cpp | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/mozilla/htmlparser/src/nsHTMLTokens.cpp b/mozilla/htmlparser/src/nsHTMLTokens.cpp index dd1c80441a1..b6376413c03 100644 --- a/mozilla/htmlparser/src/nsHTMLTokens.cpp +++ b/mozilla/htmlparser/src/nsHTMLTokens.cpp @@ -704,9 +704,17 @@ nsresult ConsumeComment(PRUnichar aChar, nsScanner& aScanner,nsString& aString) nsAutoString temp(""); while((kNotFound==findpos) && (NS_OK==result)) { result=aScanner.ReadUntil(temp,kMinus,PR_TRUE); + if(NS_OK==result) { - result=aScanner.ReadWhile(temp,gEdibles,PR_TRUE,PR_TRUE); //get all available '---' + result=aScanner.ReadWhile(temp,gMinus,PR_TRUE,PR_FALSE); //get all available '---' + aScanner.SkipWhitespace(); //but skip terminating whitespace... } + + if(NS_OK==result) { + result=aScanner.GetChar(aChar); + temp+=aChar; + } + findpos=temp.RFind("-->"); if(kNotFound==findpos) findpos=temp.RFind("!>"); diff --git a/mozilla/parser/htmlparser/src/nsHTMLTokens.cpp b/mozilla/parser/htmlparser/src/nsHTMLTokens.cpp index dd1c80441a1..b6376413c03 100644 --- a/mozilla/parser/htmlparser/src/nsHTMLTokens.cpp +++ b/mozilla/parser/htmlparser/src/nsHTMLTokens.cpp @@ -704,9 +704,17 @@ nsresult ConsumeComment(PRUnichar aChar, nsScanner& aScanner,nsString& aString) nsAutoString temp(""); while((kNotFound==findpos) && (NS_OK==result)) { result=aScanner.ReadUntil(temp,kMinus,PR_TRUE); + if(NS_OK==result) { - result=aScanner.ReadWhile(temp,gEdibles,PR_TRUE,PR_TRUE); //get all available '---' + result=aScanner.ReadWhile(temp,gMinus,PR_TRUE,PR_FALSE); //get all available '---' + aScanner.SkipWhitespace(); //but skip terminating whitespace... } + + if(NS_OK==result) { + result=aScanner.GetChar(aChar); + temp+=aChar; + } + findpos=temp.RFind("-->"); if(kNotFound==findpos) findpos=temp.RFind("!>");