---
sc/source/filter/html/htmlpars.cxx | 20 +++++++++++++-------
sc/source/filter/inc/htmlpars.hxx | 3 ++-
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx
index 6cebfae..bb79d59f 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -256,8 +256,11 @@ ScHTMLLayoutParser::ScHTMLLayoutParser(
ScHTMLLayoutParser::~ScHTMLLayoutParser()
{
ScHTMLTableStackEntry* pS;
- while ( (pS = aTableStack.Pop()) != 0 )
+ while ( !aTableStack.empty() )
{
+ pS = aTableStack.top();
+ aTableStack.pop();
+
bool found = false;
for ( size_t i = 0, nListSize = maList.size(); i < nListSize; ++i )
{
@@ -1092,7 +1095,7 @@ void ScHTMLLayoutParser::TableOn( ImportInfo* pInfo )
{ // Table in Table
sal_uInt16 nTmpColOffset = nColOffset; // wird in Colonize noch angepasst
Colonize( pActEntry );
- aTableStack.Push( new ScHTMLTableStackEntry(
+ aTableStack.push( new ScHTMLTableStackEntry(
pActEntry, xLockedList, pLocalColOffset, nFirstTableCell,
nColCnt, nRowCnt, nColCntStart, nMaxCol, nTable,
nTableWidth, nColOffset, nColOffsetStart,
@@ -1154,7 +1157,7 @@ void ScHTMLLayoutParser::TableOn( ImportInfo* pInfo )
CloseEntry( pInfo );
NextRow( pInfo );
}
- aTableStack.Push( new ScHTMLTableStackEntry(
+ aTableStack.push( new ScHTMLTableStackEntry(
pActEntry, xLockedList, pLocalColOffset, nFirstTableCell,
nColCnt, nRowCnt, nColCntStart, nMaxCol, nTable,
nTableWidth, nColOffset, nColOffsetStart,
@@ -1208,9 +1211,11 @@ void ScHTMLLayoutParser::TableOff( ImportInfo* pInfo )
}
if ( --nTableLevel > 0 )
{ // Table in Table beendet
- ScHTMLTableStackEntry* pS = aTableStack.Pop();
- if ( pS )
+ if ( !aTableStack.empty() )
{
+ ScHTMLTableStackEntry* pS = aTableStack.top();
+ aTableStack.pop();
+
ScEEParseEntry* pE = pS->pCellEntry;
SCROW nRows = nRowCnt - pS->nRowCnt;
if ( nRows > 1 )
@@ -1344,11 +1349,12 @@ void ScHTMLLayoutParser::TableOff( ImportInfo* pInfo )
else
{ // einfache Table beendet
SetWidths();
- ScHTMLTableStackEntry* pS = aTableStack.Pop();
nMaxCol = 0;
nTable = 0;
- if ( pS )
+ if ( !aTableStack.empty() )
{
+ ScHTMLTableStackEntry* pS = aTableStack.top();
+ aTableStack.pop();
if ( pLocalColOffset )
delete pLocalColOffset;
pLocalColOffset = pS->pLocalColOffset;
diff --git a/sc/source/filter/inc/htmlpars.hxx b/sc/source/filter/inc/htmlpars.hxx
index 5d7667d..d8f6ea4 100644
--- a/sc/source/filter/inc/htmlpars.hxx
+++ b/sc/source/filter/inc/htmlpars.hxx
@@ -32,6 +32,7 @@
#include <tools/stack.hxx>
#include <memory>
+#include <stack>
#include <vector>
#include <list>
#include <map>
@@ -144,7 +145,7 @@ struct ScHTMLTableStackEntry
{}
~ScHTMLTableStackEntry() {}
};
-DECLARE_STACK( ScHTMLTableStack, ScHTMLTableStackEntry* )
+typedef ::std::stack< ScHTMLTableStackEntry* > ScHTMLTableStack;
struct ScHTMLAdjustStackEntry
{
_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice