diff --git a/mozilla/htmlparser/src/CNavDTD.cpp b/mozilla/htmlparser/src/CNavDTD.cpp index 4992562b3ee..bb651d27d46 100644 --- a/mozilla/htmlparser/src/CNavDTD.cpp +++ b/mozilla/htmlparser/src/CNavDTD.cpp @@ -1721,7 +1721,7 @@ PRInt32 CNavDTD::OpenTransientStyles(eHTMLTags aTag){ default: token.SetTypeID(theTag); //open the html container... result=OpenContainer(theNode,PR_FALSE); - mLeafBits.InsertElementAt((void*)PR_TRUE,mContextStackPos-1); + mLeafBits.ReplaceElementAt((void*)PR_TRUE,mContextStackPos-1); } //switch } if(kNoError!=result) @@ -1751,7 +1751,7 @@ PRInt32 CNavDTD::CloseTransientStyles(eHTMLTags aTag){ if(0==strchr(gWhitespaceTags,aTag)){ result=CloseContainersTo((eHTMLTags)(int)mStyleStack[0],PR_FALSE); - mLeafBits.InsertElementAt((void*)PR_FALSE,mContextStackPos); + mLeafBits.ReplaceElementAt((void*)PR_FALSE,mContextStackPos-1); }//if }//if @@ -1787,7 +1787,7 @@ PRInt32 CNavDTD::OpenHTML(const nsIParserNode& aNode){ PRInt32 CNavDTD::CloseHTML(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos > 0, kInvalidTagStackPos); PRInt32 result=mSink->CloseHTML(aNode); - mContextStack.InsertElementAt((void*)eHTMLTag_unknown,--mContextStackPos); + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1816,7 +1816,7 @@ PRInt32 CNavDTD::OpenHead(const nsIParserNode& aNode){ */ PRInt32 CNavDTD::CloseHead(const nsIParserNode& aNode){ PRInt32 result=mSink->CloseHead(aNode); - mContextStack.InsertElementAt((void*)eHTMLTag_unknown,--mContextStackPos); + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1877,7 +1877,7 @@ PRInt32 CNavDTD::OpenBody(const nsIParserNode& aNode){ PRInt32 CNavDTD::CloseBody(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos >= 0, kInvalidTagStackPos); PRInt32 result=mSink->CloseBody(aNode); - mContextStack.InsertElementAt((void*)eHTMLTag_unknown,--mContextStackPos); + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1983,7 +1983,7 @@ PRInt32 CNavDTD::OpenFrameset(const nsIParserNode& aNode){ PRInt32 CNavDTD::CloseFrameset(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos > 0, kInvalidTagStackPos); PRInt32 result=mSink->CloseFrameset(aNode); - mContextStack.InsertElementAt((void*)eHTMLTag_unknown,--mContextStackPos); + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -2071,7 +2071,7 @@ PRInt32 CNavDTD::CloseContainer(const nsIParserNode& aNode,eHTMLTags aTag,PRBool case eHTMLTag_title: default: result=mSink->CloseContainer(aNode); - mContextStack.InsertElementAt((void*)eHTMLTag_unknown,--mContextStackPos); + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); break; } @@ -2354,7 +2354,7 @@ PRInt32 CNavDTD::UpdateStyleStackForCloseTag(eHTMLTags aTag,eHTMLTags anActualTa case eHTMLTag_u: case eHTMLTag_var: if(aTag==anActualTag) - mStyleStack.InsertElementAt((void*)eHTMLTag_unknown,--mStyleStackPos); + mStyleStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mStyleStackPos); break; case eHTMLTag_h1: case eHTMLTag_h2: diff --git a/mozilla/htmlparser/src/COtherDTD.cpp b/mozilla/htmlparser/src/COtherDTD.cpp index 64e9813cc5d..022dbd704c8 100644 --- a/mozilla/htmlparser/src/COtherDTD.cpp +++ b/mozilla/htmlparser/src/COtherDTD.cpp @@ -237,9 +237,6 @@ COtherDTD::COtherDTD() : nsIDTD(), mTokenDeque(gTokenKiller) { mParser=0; mFilename=0; mDTDDebug=0; - nsCRT::zero(mLeafBits,sizeof(mLeafBits)); - nsCRT::zero(mContextStack,sizeof(mContextStack)); - nsCRT::zero(mStyleStack,sizeof(mStyleStack)); nsCRT::zero(mTokenHandlers,sizeof(mTokenHandlers)); mContextStackPos=0; mStyleStackPos=0; @@ -343,8 +340,8 @@ PRInt32 COtherDTD::HandleToken(CToken* aToken){ if(aHandler) { result=(*aHandler)(theToken,this); -// if (mDTDDebug) -// mDTDDebug->Verify(this, mParser, mContextStackPos, mContextStack, mFilename); + if (mDTDDebug) + mDTDDebug->Verify(this, mParser, mContextStackPos, mContextStack, mFilename); } }//if @@ -389,13 +386,13 @@ PRInt32 COtherDTD::HandleDefaultStartToken(CToken* aToken,eHTMLTags aChildTag,ns } if(IsContainer(aChildTag)){ - if(PR_TRUE==mLeafBits[mContextStackPos-1]) { + if(PR_TRUE==(PRBool)mLeafBits[mContextStackPos-1]) { CloseTransientStyles(aChildTag); } result=OpenContainer(aNode,PR_TRUE); } else { - if(PR_FALSE==mLeafBits[mContextStackPos-1]) { + if(PR_FALSE==(PRBool)mLeafBits[mContextStackPos-1]) { OpenTransientStyles(aChildTag); } result=AddLeaf(aNode); @@ -1630,7 +1627,7 @@ PRBool COtherDTD::HasOpenContainer(eHTMLTags aContainer) const { */ eHTMLTags COtherDTD::GetTopNode() const { if(mContextStackPos) - return mContextStack[mContextStackPos-1]; + return (eHTMLTags)(int)mContextStack[mContextStackPos-1]; return eHTMLTag_unknown; } @@ -1646,7 +1643,7 @@ eHTMLTags COtherDTD::GetTopNode() const { PRInt32 COtherDTD::GetTopmostIndexOf(eHTMLTags aTag) const { int i=0; for(i=mContextStackPos-1;i>=0;i--){ - if(mContextStack[i]==aTag) + if((eHTMLTags)(int)mContextStack[i]==aTag) return i; } return kNotFound; @@ -1676,7 +1673,7 @@ PRInt32 COtherDTD::OpenTransientStyles(eHTMLTags aTag){ PRInt32 pos=0; for(pos=0;pos0) && (mLeafBits[mContextStackPos-1])) { if(0==strchr(gWhitespaceTags,aTag)){ - result=CloseContainersTo(mStyleStack[0],PR_FALSE); - mLeafBits[mContextStackPos-1]=PR_FALSE; + result=CloseContainersTo((eHTMLTags)(int)mStyleStack[0],PR_FALSE); + mLeafBits.ReplaceElementAt((void*)PR_FALSE,mContextStackPos-1); }//if }//if @@ -1739,7 +1736,7 @@ PRInt32 COtherDTD::OpenHTML(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos >= 0, kInvalidTagStackPos); PRInt32 result=mSink->OpenHTML(aNode); - mContextStack[mContextStackPos++]=(eHTMLTags)aNode.GetNodeType(); + mContextStack.InsertElementAt((void*)aNode.GetNodeType(),mContextStackPos++); return result; } @@ -1755,7 +1752,7 @@ PRInt32 COtherDTD::OpenHTML(const nsIParserNode& aNode){ PRInt32 COtherDTD::CloseHTML(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos > 0, kInvalidTagStackPos); PRInt32 result=mSink->CloseHTML(aNode); - mContextStack[--mContextStackPos]=eHTMLTag_unknown; + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1769,7 +1766,7 @@ PRInt32 COtherDTD::CloseHTML(const nsIParserNode& aNode){ * @return TRUE if ok, FALSE if error */ PRInt32 COtherDTD::OpenHead(const nsIParserNode& aNode){ - mContextStack[mContextStackPos++]=eHTMLTag_head; + mContextStack.InsertElementAt((void*)eHTMLTag_head,++mContextStackPos); PRInt32 result=mSink->OpenHead(aNode); return result; } @@ -1784,7 +1781,7 @@ PRInt32 COtherDTD::OpenHead(const nsIParserNode& aNode){ */ PRInt32 COtherDTD::CloseHead(const nsIParserNode& aNode){ PRInt32 result=mSink->CloseHead(aNode); - mContextStack[--mContextStackPos]=eHTMLTag_unknown; + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1829,7 +1826,7 @@ PRInt32 COtherDTD::OpenBody(const nsIParserNode& aNode){ if(kNoError==result) { result=mSink->OpenBody(aNode); - mContextStack[mContextStackPos++]=(eHTMLTags)aNode.GetNodeType(); + mContextStack.InsertElementAt((void*)aNode.GetNodeType(),mContextStackPos++); } return result; } @@ -1845,7 +1842,7 @@ PRInt32 COtherDTD::OpenBody(const nsIParserNode& aNode){ PRInt32 COtherDTD::CloseBody(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos >= 0, kInvalidTagStackPos); PRInt32 result=mSink->CloseBody(aNode); - mContextStack[--mContextStackPos]=eHTMLTag_unknown; + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1936,7 +1933,7 @@ PRInt32 COtherDTD::CloseMap(const nsIParserNode& aNode){ PRInt32 COtherDTD::OpenFrameset(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos >= 0, kInvalidTagStackPos); PRInt32 result=mSink->OpenFrameset(aNode); - mContextStack[mContextStackPos++]=(eHTMLTags)aNode.GetNodeType(); + mContextStack.InsertElementAt((void*)aNode.GetNodeType(),mContextStackPos++); return result; } @@ -1951,7 +1948,7 @@ PRInt32 COtherDTD::OpenFrameset(const nsIParserNode& aNode){ PRInt32 COtherDTD::CloseFrameset(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos > 0, kInvalidTagStackPos); PRInt32 result=mSink->CloseFrameset(aNode); - mContextStack[--mContextStackPos]=eHTMLTag_unknown; + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1991,7 +1988,7 @@ PRInt32 COtherDTD::OpenContainer(const nsIParserNode& aNode,PRBool aUpdateStyleS default: result=mSink->OpenContainer(aNode); - mContextStack[mContextStackPos++]=nodeType; + mContextStack.InsertElementAt((void*)nodeType,mContextStackPos++); break; } @@ -2039,11 +2036,11 @@ PRInt32 COtherDTD::CloseContainer(const nsIParserNode& aNode,eHTMLTags aTag,PRBo case eHTMLTag_title: default: result=mSink->CloseContainer(aNode); - mContextStack[--mContextStackPos]=eHTMLTag_unknown; + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); break; } - mLeafBits[mContextStackPos]=PR_FALSE; + mLeafBits.InsertElementAt((void*)PR_FALSE, mContextStackPos); if((kNoError==result) && (PR_TRUE==aUpdateStyles)){ UpdateStyleStackForCloseTag(nodeType,aTag); } @@ -2068,7 +2065,7 @@ PRInt32 COtherDTD::CloseContainersTo(PRInt32 anIndex,eHTMLTags aTag,PRBool aUpda if((anIndex=0)) { while(mContextStackPos>anIndex) { - eHTMLTags theTag=mContextStack[mContextStackPos-1]; + eHTMLTags theTag=(eHTMLTags)(int)mContextStack[mContextStackPos-1]; aToken.SetTypeID(theTag); result=CloseContainer(theNode,aTag,aUpdateStyles); } @@ -2129,7 +2126,7 @@ PRInt32 COtherDTD::CloseTopmostContainer(){ NS_PRECONDITION(mContextStackPos > 0, kInvalidTagStackPos); CEndToken aToken(gEmpty); - eHTMLTags theTag=(eHTMLTags)mContextStack[mContextStackPos-1]; + eHTMLTags theTag=(eHTMLTags)(int)mContextStack[mContextStackPos-1]; aToken.SetTypeID(theTag); nsCParserNode theNode(&aToken); return CloseContainer(theNode,theTag,PR_TRUE); @@ -2171,7 +2168,7 @@ PRInt32 COtherDTD::CreateContextStackFor(eHTMLTags aChildTag){ //add code here to build up context stack based on forward propagated context vector... pos=0; cnt=theVector.Length()-1; - if(mContextStack[mContextStackPos-1]==theVector[cnt]) + if(mContextStack[mContextStackPos-1]==(void*)theVector[cnt]) result=kNoError; else result=kContextMismatch; } @@ -2191,7 +2188,7 @@ PRInt32 COtherDTD::CreateContextStackFor(eHTMLTags aChildTag){ cnt=theVector.Length(); result=kNoError; while(pos 0, kInvalidTagStackPos); PRInt32 result=mSink->CloseHTML(aNode); - mContextStack.InsertElementAt((void*)eHTMLTag_unknown,--mContextStackPos); + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1816,7 +1816,7 @@ PRInt32 CNavDTD::OpenHead(const nsIParserNode& aNode){ */ PRInt32 CNavDTD::CloseHead(const nsIParserNode& aNode){ PRInt32 result=mSink->CloseHead(aNode); - mContextStack.InsertElementAt((void*)eHTMLTag_unknown,--mContextStackPos); + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1877,7 +1877,7 @@ PRInt32 CNavDTD::OpenBody(const nsIParserNode& aNode){ PRInt32 CNavDTD::CloseBody(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos >= 0, kInvalidTagStackPos); PRInt32 result=mSink->CloseBody(aNode); - mContextStack.InsertElementAt((void*)eHTMLTag_unknown,--mContextStackPos); + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1983,7 +1983,7 @@ PRInt32 CNavDTD::OpenFrameset(const nsIParserNode& aNode){ PRInt32 CNavDTD::CloseFrameset(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos > 0, kInvalidTagStackPos); PRInt32 result=mSink->CloseFrameset(aNode); - mContextStack.InsertElementAt((void*)eHTMLTag_unknown,--mContextStackPos); + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -2071,7 +2071,7 @@ PRInt32 CNavDTD::CloseContainer(const nsIParserNode& aNode,eHTMLTags aTag,PRBool case eHTMLTag_title: default: result=mSink->CloseContainer(aNode); - mContextStack.InsertElementAt((void*)eHTMLTag_unknown,--mContextStackPos); + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); break; } @@ -2354,7 +2354,7 @@ PRInt32 CNavDTD::UpdateStyleStackForCloseTag(eHTMLTags aTag,eHTMLTags anActualTa case eHTMLTag_u: case eHTMLTag_var: if(aTag==anActualTag) - mStyleStack.InsertElementAt((void*)eHTMLTag_unknown,--mStyleStackPos); + mStyleStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mStyleStackPos); break; case eHTMLTag_h1: case eHTMLTag_h2: diff --git a/mozilla/parser/htmlparser/src/COtherDTD.cpp b/mozilla/parser/htmlparser/src/COtherDTD.cpp index 64e9813cc5d..022dbd704c8 100644 --- a/mozilla/parser/htmlparser/src/COtherDTD.cpp +++ b/mozilla/parser/htmlparser/src/COtherDTD.cpp @@ -237,9 +237,6 @@ COtherDTD::COtherDTD() : nsIDTD(), mTokenDeque(gTokenKiller) { mParser=0; mFilename=0; mDTDDebug=0; - nsCRT::zero(mLeafBits,sizeof(mLeafBits)); - nsCRT::zero(mContextStack,sizeof(mContextStack)); - nsCRT::zero(mStyleStack,sizeof(mStyleStack)); nsCRT::zero(mTokenHandlers,sizeof(mTokenHandlers)); mContextStackPos=0; mStyleStackPos=0; @@ -343,8 +340,8 @@ PRInt32 COtherDTD::HandleToken(CToken* aToken){ if(aHandler) { result=(*aHandler)(theToken,this); -// if (mDTDDebug) -// mDTDDebug->Verify(this, mParser, mContextStackPos, mContextStack, mFilename); + if (mDTDDebug) + mDTDDebug->Verify(this, mParser, mContextStackPos, mContextStack, mFilename); } }//if @@ -389,13 +386,13 @@ PRInt32 COtherDTD::HandleDefaultStartToken(CToken* aToken,eHTMLTags aChildTag,ns } if(IsContainer(aChildTag)){ - if(PR_TRUE==mLeafBits[mContextStackPos-1]) { + if(PR_TRUE==(PRBool)mLeafBits[mContextStackPos-1]) { CloseTransientStyles(aChildTag); } result=OpenContainer(aNode,PR_TRUE); } else { - if(PR_FALSE==mLeafBits[mContextStackPos-1]) { + if(PR_FALSE==(PRBool)mLeafBits[mContextStackPos-1]) { OpenTransientStyles(aChildTag); } result=AddLeaf(aNode); @@ -1630,7 +1627,7 @@ PRBool COtherDTD::HasOpenContainer(eHTMLTags aContainer) const { */ eHTMLTags COtherDTD::GetTopNode() const { if(mContextStackPos) - return mContextStack[mContextStackPos-1]; + return (eHTMLTags)(int)mContextStack[mContextStackPos-1]; return eHTMLTag_unknown; } @@ -1646,7 +1643,7 @@ eHTMLTags COtherDTD::GetTopNode() const { PRInt32 COtherDTD::GetTopmostIndexOf(eHTMLTags aTag) const { int i=0; for(i=mContextStackPos-1;i>=0;i--){ - if(mContextStack[i]==aTag) + if((eHTMLTags)(int)mContextStack[i]==aTag) return i; } return kNotFound; @@ -1676,7 +1673,7 @@ PRInt32 COtherDTD::OpenTransientStyles(eHTMLTags aTag){ PRInt32 pos=0; for(pos=0;pos0) && (mLeafBits[mContextStackPos-1])) { if(0==strchr(gWhitespaceTags,aTag)){ - result=CloseContainersTo(mStyleStack[0],PR_FALSE); - mLeafBits[mContextStackPos-1]=PR_FALSE; + result=CloseContainersTo((eHTMLTags)(int)mStyleStack[0],PR_FALSE); + mLeafBits.ReplaceElementAt((void*)PR_FALSE,mContextStackPos-1); }//if }//if @@ -1739,7 +1736,7 @@ PRInt32 COtherDTD::OpenHTML(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos >= 0, kInvalidTagStackPos); PRInt32 result=mSink->OpenHTML(aNode); - mContextStack[mContextStackPos++]=(eHTMLTags)aNode.GetNodeType(); + mContextStack.InsertElementAt((void*)aNode.GetNodeType(),mContextStackPos++); return result; } @@ -1755,7 +1752,7 @@ PRInt32 COtherDTD::OpenHTML(const nsIParserNode& aNode){ PRInt32 COtherDTD::CloseHTML(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos > 0, kInvalidTagStackPos); PRInt32 result=mSink->CloseHTML(aNode); - mContextStack[--mContextStackPos]=eHTMLTag_unknown; + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1769,7 +1766,7 @@ PRInt32 COtherDTD::CloseHTML(const nsIParserNode& aNode){ * @return TRUE if ok, FALSE if error */ PRInt32 COtherDTD::OpenHead(const nsIParserNode& aNode){ - mContextStack[mContextStackPos++]=eHTMLTag_head; + mContextStack.InsertElementAt((void*)eHTMLTag_head,++mContextStackPos); PRInt32 result=mSink->OpenHead(aNode); return result; } @@ -1784,7 +1781,7 @@ PRInt32 COtherDTD::OpenHead(const nsIParserNode& aNode){ */ PRInt32 COtherDTD::CloseHead(const nsIParserNode& aNode){ PRInt32 result=mSink->CloseHead(aNode); - mContextStack[--mContextStackPos]=eHTMLTag_unknown; + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1829,7 +1826,7 @@ PRInt32 COtherDTD::OpenBody(const nsIParserNode& aNode){ if(kNoError==result) { result=mSink->OpenBody(aNode); - mContextStack[mContextStackPos++]=(eHTMLTags)aNode.GetNodeType(); + mContextStack.InsertElementAt((void*)aNode.GetNodeType(),mContextStackPos++); } return result; } @@ -1845,7 +1842,7 @@ PRInt32 COtherDTD::OpenBody(const nsIParserNode& aNode){ PRInt32 COtherDTD::CloseBody(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos >= 0, kInvalidTagStackPos); PRInt32 result=mSink->CloseBody(aNode); - mContextStack[--mContextStackPos]=eHTMLTag_unknown; + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1936,7 +1933,7 @@ PRInt32 COtherDTD::CloseMap(const nsIParserNode& aNode){ PRInt32 COtherDTD::OpenFrameset(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos >= 0, kInvalidTagStackPos); PRInt32 result=mSink->OpenFrameset(aNode); - mContextStack[mContextStackPos++]=(eHTMLTags)aNode.GetNodeType(); + mContextStack.InsertElementAt((void*)aNode.GetNodeType(),mContextStackPos++); return result; } @@ -1951,7 +1948,7 @@ PRInt32 COtherDTD::OpenFrameset(const nsIParserNode& aNode){ PRInt32 COtherDTD::CloseFrameset(const nsIParserNode& aNode){ NS_PRECONDITION(mContextStackPos > 0, kInvalidTagStackPos); PRInt32 result=mSink->CloseFrameset(aNode); - mContextStack[--mContextStackPos]=eHTMLTag_unknown; + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); return result; } @@ -1991,7 +1988,7 @@ PRInt32 COtherDTD::OpenContainer(const nsIParserNode& aNode,PRBool aUpdateStyleS default: result=mSink->OpenContainer(aNode); - mContextStack[mContextStackPos++]=nodeType; + mContextStack.InsertElementAt((void*)nodeType,mContextStackPos++); break; } @@ -2039,11 +2036,11 @@ PRInt32 COtherDTD::CloseContainer(const nsIParserNode& aNode,eHTMLTags aTag,PRBo case eHTMLTag_title: default: result=mSink->CloseContainer(aNode); - mContextStack[--mContextStackPos]=eHTMLTag_unknown; + mContextStack.ReplaceElementAt((void*)eHTMLTag_unknown,--mContextStackPos); break; } - mLeafBits[mContextStackPos]=PR_FALSE; + mLeafBits.InsertElementAt((void*)PR_FALSE, mContextStackPos); if((kNoError==result) && (PR_TRUE==aUpdateStyles)){ UpdateStyleStackForCloseTag(nodeType,aTag); } @@ -2068,7 +2065,7 @@ PRInt32 COtherDTD::CloseContainersTo(PRInt32 anIndex,eHTMLTags aTag,PRBool aUpda if((anIndex=0)) { while(mContextStackPos>anIndex) { - eHTMLTags theTag=mContextStack[mContextStackPos-1]; + eHTMLTags theTag=(eHTMLTags)(int)mContextStack[mContextStackPos-1]; aToken.SetTypeID(theTag); result=CloseContainer(theNode,aTag,aUpdateStyles); } @@ -2129,7 +2126,7 @@ PRInt32 COtherDTD::CloseTopmostContainer(){ NS_PRECONDITION(mContextStackPos > 0, kInvalidTagStackPos); CEndToken aToken(gEmpty); - eHTMLTags theTag=(eHTMLTags)mContextStack[mContextStackPos-1]; + eHTMLTags theTag=(eHTMLTags)(int)mContextStack[mContextStackPos-1]; aToken.SetTypeID(theTag); nsCParserNode theNode(&aToken); return CloseContainer(theNode,theTag,PR_TRUE); @@ -2171,7 +2168,7 @@ PRInt32 COtherDTD::CreateContextStackFor(eHTMLTags aChildTag){ //add code here to build up context stack based on forward propagated context vector... pos=0; cnt=theVector.Length()-1; - if(mContextStack[mContextStackPos-1]==theVector[cnt]) + if(mContextStack[mContextStackPos-1]==(void*)theVector[cnt]) result=kNoError; else result=kContextMismatch; } @@ -2191,7 +2188,7 @@ PRInt32 COtherDTD::CreateContextStackFor(eHTMLTags aChildTag){ cnt=theVector.Length(); result=kNoError; while(pos