From ccf4e538ba59edf134e8ed2691eb8b80f252595e Mon Sep 17 00:00:00 2001 From: "akkana%netscape.com" Date: Fri, 6 Aug 1999 20:50:37 +0000 Subject: [PATCH] Don't convert charset on nsStrings, as suggested in comments in bug 6672 git-svn-id: svn://10.0.0.236/trunk@42532 18797224-902f-48f8-a5cc-f745e15eee43 --- .../src/nsHTMLContentSinkStream.cpp | 35 ++++++++----------- .../src/nsHTMLContentSinkStream.cpp | 35 ++++++++----------- 2 files changed, 28 insertions(+), 42 deletions(-) diff --git a/mozilla/htmlparser/src/nsHTMLContentSinkStream.cpp b/mozilla/htmlparser/src/nsHTMLContentSinkStream.cpp index 3bf1a6d22bb..1014168c44a 100644 --- a/mozilla/htmlparser/src/nsHTMLContentSinkStream.cpp +++ b/mozilla/htmlparser/src/nsHTMLContentSinkStream.cpp @@ -510,34 +510,27 @@ void nsHTMLContentSinkStream::EncodeToBuffer(const nsString& aSrc) void nsHTMLContentSinkStream::Write(const nsString& aString) { + // No need to re-encode strings, since they're going from UCS2 to UCS2 + if (mString != nsnull) + mString->Append(aString); + + if (!mStream) + return; + + // Now handle the stream case: + nsOutputStream out(mStream); // If a encoder is being used then convert first convert the input string - if (mUnicodeEncoder != nsnull) + if (mUnicodeEncoder) { EncodeToBuffer(aString); - if (mStream != nsnull) - { - nsOutputStream out(mStream); - out.write(mBuffer,mBufferLength); - } - if (mString != nsnull) - { - mString->Append(mBuffer); - } + out.write(mBuffer, mBufferLength); } + // else just write the unicode else { - if (mStream != nsnull) - { - nsOutputStream out(mStream); - const PRUnichar* unicode = aString.GetUnicode(); - PRUint32 length = aString.Length(); - out.write(unicode,length); - } - else - { - mString->Append(aString); - } + const PRUnichar* unicode = aString.GetUnicode(); + out.write(unicode, aString.Length()); } } diff --git a/mozilla/parser/htmlparser/src/nsHTMLContentSinkStream.cpp b/mozilla/parser/htmlparser/src/nsHTMLContentSinkStream.cpp index 3bf1a6d22bb..1014168c44a 100644 --- a/mozilla/parser/htmlparser/src/nsHTMLContentSinkStream.cpp +++ b/mozilla/parser/htmlparser/src/nsHTMLContentSinkStream.cpp @@ -510,34 +510,27 @@ void nsHTMLContentSinkStream::EncodeToBuffer(const nsString& aSrc) void nsHTMLContentSinkStream::Write(const nsString& aString) { + // No need to re-encode strings, since they're going from UCS2 to UCS2 + if (mString != nsnull) + mString->Append(aString); + + if (!mStream) + return; + + // Now handle the stream case: + nsOutputStream out(mStream); // If a encoder is being used then convert first convert the input string - if (mUnicodeEncoder != nsnull) + if (mUnicodeEncoder) { EncodeToBuffer(aString); - if (mStream != nsnull) - { - nsOutputStream out(mStream); - out.write(mBuffer,mBufferLength); - } - if (mString != nsnull) - { - mString->Append(mBuffer); - } + out.write(mBuffer, mBufferLength); } + // else just write the unicode else { - if (mStream != nsnull) - { - nsOutputStream out(mStream); - const PRUnichar* unicode = aString.GetUnicode(); - PRUint32 length = aString.Length(); - out.write(unicode,length); - } - else - { - mString->Append(aString); - } + const PRUnichar* unicode = aString.GetUnicode(); + out.write(unicode, aString.Length()); } }