diff --git a/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp b/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp index 961c2ca87fd..a1dbd8e9d57 100644 --- a/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp +++ b/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp @@ -42,9 +42,6 @@ #include "nsIOutputStream.h" #include "nsFileStream.h" -static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); -static NS_DEFINE_IID(kIContentSinkIID, NS_ICONTENT_SINK_IID); -static NS_DEFINE_IID(kIHTMLContentSinkIID, NS_IHTML_CONTENT_SINK_IID); static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID); @@ -66,8 +63,7 @@ nsresult nsHTMLToTXTSinkStream::InitEncoder(const nsString& aCharset) nsresult res = NS_OK; // If the converter is ucs2, then do not use a converter - nsString ucs2("ucs2"); - if (aCharset.Equals(ucs2)) + if (aCharset.Equals("ucs2")) { NS_IF_RELEASE(mUnicodeEncoder); return res; @@ -128,13 +124,13 @@ nsHTMLToTXTSinkStream::QueryInterface(const nsIID& aIID, void** aInstancePtr) if (NULL == aInstancePtr) { return NS_ERROR_NULL_POINTER; } - if(aIID.Equals(kISupportsIID)) { + if(aIID.Equals(NS_GET_IID(nsISupports))) { *aInstancePtr = (nsIContentSink*)(this); } - else if(aIID.Equals(kIContentSinkIID)) { + else if(aIID.Equals(NS_GET_IID(nsIContentSink))) { *aInstancePtr = (nsIContentSink*)(this); } - else if(aIID.Equals(kIHTMLContentSinkIID)) { + else if(aIID.Equals(NS_GET_IID(nsIHTMLContentSink))) { *aInstancePtr = (nsIHTMLContentSink*)(this); } else { @@ -171,7 +167,7 @@ NS_New_HTMLToTXT_SinkStream(nsIHTMLContentSink** aInstancePtrResult, it->SetWrapColumn(aWrapColumn); if (aCharsetOverride != nsnull) it->SetCharsetOverride(aCharsetOverride); - return it->QueryInterface(kIHTMLContentSinkIID, (void **)aInstancePtrResult); + return it->QueryInterface(NS_GET_IID(nsIHTMLContentSink), (void **)aInstancePtrResult); } @@ -193,9 +189,9 @@ NS_New_HTMLToTXT_SinkStream(nsIHTMLContentSink** aInstancePtrResult, return NS_ERROR_OUT_OF_MEMORY; } it->SetWrapColumn(aWrapColumn); - nsString ucs2("ucs2"); + nsAutoString ucs2(CBufDescriptor("ucs2", PR_TRUE, strlen("ucs2"))); it->SetCharsetOverride(&ucs2); - return it->QueryInterface(kIHTMLContentSinkIID, (void **)aInstancePtrResult); + return it->QueryInterface(NS_GET_IID(nsIHTMLContentSink), (void **)aInstancePtrResult); } // Someday may want to make this non-const: @@ -474,12 +470,12 @@ nsHTMLToTXTSinkStream::EndContext(PRInt32 aPosition) } void nsHTMLToTXTSinkStream::EnsureBufferSize(PRInt32 aNewSize) -{ - if (mBufferSize < aNewSize) +{ + if (mBufferSize < aNewSize) { - delete [] mBuffer; + nsAllocator::Free(mBuffer); mBufferSize = 2*aNewSize+1; // make the twice as large - mBuffer = new char[mBufferSize]; + mBuffer = NS_STATIC_CAST(char*, nsAllocator::Alloc(mBufferSize)); if(mBuffer){ mBuffer[0] = 0; mBufferLength = 0; @@ -494,10 +490,8 @@ void nsHTMLToTXTSinkStream::EncodeToBuffer(const nsString& aSrc) if (mUnicodeEncoder == nsnull) { NS_WARNING("The unicode encoder needs to be initialized"); - char* str = aSrc.ToNewCString(); EnsureBufferSize(aSrc.Length()+1); - strcpy(mBuffer, str); - delete[] str; + aSrc.ToCString ( mBuffer, aSrc.Length()+1 ); return; } @@ -541,7 +535,6 @@ void nsHTMLToTXTSinkStream::EncodeToBuffer(const nsString& aSrc) */ void nsHTMLToTXTSinkStream::Write(const nsString& aString) { - // If a encoder is being used then convert first convert the input string if (mUnicodeEncoder != nsnull) { @@ -667,7 +660,7 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) if (type == eHTMLTag_li) { - nsString temp("*"); + nsAutoString temp(CBufDescriptor("*", PR_TRUE, strlen("*"))); if (mTagStackIndex > 1 && mTagStack[mTagStackIndex-2] == eHTMLTag_ol) { if (mOLStackIndex > 0) @@ -687,7 +680,7 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) mIndent += gTabSize; else if (type == eHTMLTag_pre) { - nsString temp(NS_LINEBREAK); + nsAutoString temp(CBufDescriptor(NS_LINEBREAK, PR_TRUE, strlen(NS_LINEBREAK))); Write(temp); mColPos = 0; } @@ -700,7 +693,7 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) case eHTMLTag_ol: case eHTMLTag_p: { - nsString temp(NS_LINEBREAK); + nsAutoString temp(CBufDescriptor(NS_LINEBREAK, PR_TRUE, strlen(NS_LINEBREAK))); Write(temp); mColPos = 0; break; @@ -755,7 +748,7 @@ nsHTMLToTXTSinkStream::CloseContainer(const nsIParserNode& aNode) { if (mFlags & nsIDocumentEncoder::OutputFormatted) { - nsString temp(NS_LINEBREAK); + nsAutoString temp(CBufDescriptor(NS_LINEBREAK, PR_TRUE, strlen(NS_LINEBREAK))); Write(temp); mColPos = 0; } @@ -786,7 +779,7 @@ nsHTMLToTXTSinkStream::AddLeaf(const nsIParserNode& aNode) { if (mColPos > mIndent) { - nsString temp(" "); + nsAutoString temp(CBufDescriptor(" ", PR_TRUE, 2)); Write(temp); mColPos++; } @@ -813,7 +806,7 @@ nsHTMLToTXTSinkStream::AddLeaf(const nsIParserNode& aNode) else if (type == eHTMLTag_br) { // Do this even if we're not doing formatted output: - nsString temp (NS_LINEBREAK); + nsAutoString temp(CBufDescriptor(NS_LINEBREAK, PR_TRUE, strlen(NS_LINEBREAK))); Write(temp); mColPos = 0; } @@ -834,7 +827,7 @@ nsHTMLToTXTSinkStream::AddLeaf(const nsIParserNode& aNode) } else if (type == eHTMLTag_newline) { - nsString temp(NS_LINEBREAK); + nsAutoString temp(CBufDescriptor(NS_LINEBREAK, PR_TRUE, strlen(NS_LINEBREAK))); Write(temp); mColPos = 0; } @@ -856,14 +849,14 @@ nsHTMLToTXTSinkStream::WriteWrapped(const nsString& aString) // Indent at the beginning of the line, if necessary if (mColPos == 0 && mIndent > 0) { - char* spaces = new char[mIndent+1]; + char* spaces = NS_STATIC_CAST(char*, nsAllocator::Alloc(mIndent+1)); for (int i=0; i mIndent) { - nsAutoString linebreak(NS_LINEBREAK); + nsAutoString linebreak(CBufDescriptor(NS_LINEBREAK, PR_TRUE, strlen(NS_LINEBREAK))); Write(linebreak); mColPos = 0; continue; diff --git a/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp b/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp index 961c2ca87fd..a1dbd8e9d57 100644 --- a/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp +++ b/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp @@ -42,9 +42,6 @@ #include "nsIOutputStream.h" #include "nsFileStream.h" -static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); -static NS_DEFINE_IID(kIContentSinkIID, NS_ICONTENT_SINK_IID); -static NS_DEFINE_IID(kIHTMLContentSinkIID, NS_IHTML_CONTENT_SINK_IID); static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID); @@ -66,8 +63,7 @@ nsresult nsHTMLToTXTSinkStream::InitEncoder(const nsString& aCharset) nsresult res = NS_OK; // If the converter is ucs2, then do not use a converter - nsString ucs2("ucs2"); - if (aCharset.Equals(ucs2)) + if (aCharset.Equals("ucs2")) { NS_IF_RELEASE(mUnicodeEncoder); return res; @@ -128,13 +124,13 @@ nsHTMLToTXTSinkStream::QueryInterface(const nsIID& aIID, void** aInstancePtr) if (NULL == aInstancePtr) { return NS_ERROR_NULL_POINTER; } - if(aIID.Equals(kISupportsIID)) { + if(aIID.Equals(NS_GET_IID(nsISupports))) { *aInstancePtr = (nsIContentSink*)(this); } - else if(aIID.Equals(kIContentSinkIID)) { + else if(aIID.Equals(NS_GET_IID(nsIContentSink))) { *aInstancePtr = (nsIContentSink*)(this); } - else if(aIID.Equals(kIHTMLContentSinkIID)) { + else if(aIID.Equals(NS_GET_IID(nsIHTMLContentSink))) { *aInstancePtr = (nsIHTMLContentSink*)(this); } else { @@ -171,7 +167,7 @@ NS_New_HTMLToTXT_SinkStream(nsIHTMLContentSink** aInstancePtrResult, it->SetWrapColumn(aWrapColumn); if (aCharsetOverride != nsnull) it->SetCharsetOverride(aCharsetOverride); - return it->QueryInterface(kIHTMLContentSinkIID, (void **)aInstancePtrResult); + return it->QueryInterface(NS_GET_IID(nsIHTMLContentSink), (void **)aInstancePtrResult); } @@ -193,9 +189,9 @@ NS_New_HTMLToTXT_SinkStream(nsIHTMLContentSink** aInstancePtrResult, return NS_ERROR_OUT_OF_MEMORY; } it->SetWrapColumn(aWrapColumn); - nsString ucs2("ucs2"); + nsAutoString ucs2(CBufDescriptor("ucs2", PR_TRUE, strlen("ucs2"))); it->SetCharsetOverride(&ucs2); - return it->QueryInterface(kIHTMLContentSinkIID, (void **)aInstancePtrResult); + return it->QueryInterface(NS_GET_IID(nsIHTMLContentSink), (void **)aInstancePtrResult); } // Someday may want to make this non-const: @@ -474,12 +470,12 @@ nsHTMLToTXTSinkStream::EndContext(PRInt32 aPosition) } void nsHTMLToTXTSinkStream::EnsureBufferSize(PRInt32 aNewSize) -{ - if (mBufferSize < aNewSize) +{ + if (mBufferSize < aNewSize) { - delete [] mBuffer; + nsAllocator::Free(mBuffer); mBufferSize = 2*aNewSize+1; // make the twice as large - mBuffer = new char[mBufferSize]; + mBuffer = NS_STATIC_CAST(char*, nsAllocator::Alloc(mBufferSize)); if(mBuffer){ mBuffer[0] = 0; mBufferLength = 0; @@ -494,10 +490,8 @@ void nsHTMLToTXTSinkStream::EncodeToBuffer(const nsString& aSrc) if (mUnicodeEncoder == nsnull) { NS_WARNING("The unicode encoder needs to be initialized"); - char* str = aSrc.ToNewCString(); EnsureBufferSize(aSrc.Length()+1); - strcpy(mBuffer, str); - delete[] str; + aSrc.ToCString ( mBuffer, aSrc.Length()+1 ); return; } @@ -541,7 +535,6 @@ void nsHTMLToTXTSinkStream::EncodeToBuffer(const nsString& aSrc) */ void nsHTMLToTXTSinkStream::Write(const nsString& aString) { - // If a encoder is being used then convert first convert the input string if (mUnicodeEncoder != nsnull) { @@ -667,7 +660,7 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) if (type == eHTMLTag_li) { - nsString temp("*"); + nsAutoString temp(CBufDescriptor("*", PR_TRUE, strlen("*"))); if (mTagStackIndex > 1 && mTagStack[mTagStackIndex-2] == eHTMLTag_ol) { if (mOLStackIndex > 0) @@ -687,7 +680,7 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) mIndent += gTabSize; else if (type == eHTMLTag_pre) { - nsString temp(NS_LINEBREAK); + nsAutoString temp(CBufDescriptor(NS_LINEBREAK, PR_TRUE, strlen(NS_LINEBREAK))); Write(temp); mColPos = 0; } @@ -700,7 +693,7 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) case eHTMLTag_ol: case eHTMLTag_p: { - nsString temp(NS_LINEBREAK); + nsAutoString temp(CBufDescriptor(NS_LINEBREAK, PR_TRUE, strlen(NS_LINEBREAK))); Write(temp); mColPos = 0; break; @@ -755,7 +748,7 @@ nsHTMLToTXTSinkStream::CloseContainer(const nsIParserNode& aNode) { if (mFlags & nsIDocumentEncoder::OutputFormatted) { - nsString temp(NS_LINEBREAK); + nsAutoString temp(CBufDescriptor(NS_LINEBREAK, PR_TRUE, strlen(NS_LINEBREAK))); Write(temp); mColPos = 0; } @@ -786,7 +779,7 @@ nsHTMLToTXTSinkStream::AddLeaf(const nsIParserNode& aNode) { if (mColPos > mIndent) { - nsString temp(" "); + nsAutoString temp(CBufDescriptor(" ", PR_TRUE, 2)); Write(temp); mColPos++; } @@ -813,7 +806,7 @@ nsHTMLToTXTSinkStream::AddLeaf(const nsIParserNode& aNode) else if (type == eHTMLTag_br) { // Do this even if we're not doing formatted output: - nsString temp (NS_LINEBREAK); + nsAutoString temp(CBufDescriptor(NS_LINEBREAK, PR_TRUE, strlen(NS_LINEBREAK))); Write(temp); mColPos = 0; } @@ -834,7 +827,7 @@ nsHTMLToTXTSinkStream::AddLeaf(const nsIParserNode& aNode) } else if (type == eHTMLTag_newline) { - nsString temp(NS_LINEBREAK); + nsAutoString temp(CBufDescriptor(NS_LINEBREAK, PR_TRUE, strlen(NS_LINEBREAK))); Write(temp); mColPos = 0; } @@ -856,14 +849,14 @@ nsHTMLToTXTSinkStream::WriteWrapped(const nsString& aString) // Indent at the beginning of the line, if necessary if (mColPos == 0 && mIndent > 0) { - char* spaces = new char[mIndent+1]; + char* spaces = NS_STATIC_CAST(char*, nsAllocator::Alloc(mIndent+1)); for (int i=0; i mIndent) { - nsAutoString linebreak(NS_LINEBREAK); + nsAutoString linebreak(CBufDescriptor(NS_LINEBREAK, PR_TRUE, strlen(NS_LINEBREAK))); Write(linebreak); mColPos = 0; continue;