[Libreoffice-commits] .: l10ntools/inc l10ntools/source

Joseph Powers jpowers at kemper.freedesktop.org
Sat Jan 22 21:51:25 PST 2011


 l10ntools/inc/export.hxx    |    4 +-
 l10ntools/source/export.cxx |   86 ++++++++++++--------------------------------
 2 files changed, 26 insertions(+), 64 deletions(-)

New commits:
commit 39512ac7690bb222bc2915b182250550cd6f4789
Author: Joseph Powers <jpowers27 at cox.net>
Date:   Sat Jan 22 21:51:18 2011 -0800

    Remove DECLARE_LIST( ResStack, ResData * )

diff --git a/l10ntools/inc/export.hxx b/l10ntools/inc/export.hxx
index a5749df..1f196c9 100644
--- a/l10ntools/inc/export.hxx
+++ b/l10ntools/inc/export.hxx
@@ -286,7 +286,7 @@ public:
 #define MERGE_MODE_NORMAL			0x0000
 #define MERGE_MODE_LIST				0x0001
 
-DECLARE_LIST( ResStack, ResData * )
+typedef ::std::vector< ResData* > ResStack;
 // forwards
 class WordTransformer;
 class ParserQueue;
@@ -306,7 +306,7 @@ private:
 
     BOOL bDefine;						// cur. res. in a define?
     BOOL bNextMustBeDefineEOL;			// define but no \ at lineend
-    ULONG nLevel;						// res. recursiv? how deep?
+    size_t nLevel;						// res. recursiv? how deep?
     USHORT nList;						// cur. res. is String- or FilterList
     ByteString nListLang;
     ULONG nListIndex;
diff --git a/l10ntools/source/export.cxx b/l10ntools/source/export.cxx
index 85864b7..4fc4bca 100644
--- a/l10ntools/source/export.cxx
+++ b/l10ntools/source/export.cxx
@@ -502,10 +502,9 @@ void Export::Init()
     nList = LIST_NON;
     nListLang = ByteString( String::CreateFromAscii(""),RTL_TEXTENCODING_ASCII_US );
     nListIndex = 0;
-    while ( aResStack.Count()) {
-        delete aResStack.GetObject(( ULONG ) 0 );
-        aResStack.Remove(( ULONG ) 0 );
-    }
+    for ( size_t i = 0, n = aResStack.size(); i < n;  ++i )
+        delete aResStack[ i ];
+    aResStack.clear();
 }
 
 /*****************************************************************************/
@@ -517,10 +516,9 @@ Export::~Export()
     // close output stream
     if ( bEnableExport )
         aOutput.Close();
-    while ( aResStack.Count()) {
-        delete aResStack.GetObject(( ULONG ) 0 );
-        aResStack.Remove(( ULONG ) 0 );
-    }
+    for ( size_t i = 0, n = aResStack.size(); i < n;  ++i )
+        delete aResStack[ i ];
+    aResStack.clear();
 
     if ( bMergeMode && !bUnmerge ) {
         if ( !pMergeDataFile )
@@ -559,7 +557,7 @@ int Export::Execute( int nToken, const char * pToken )
     ResData *pResData = NULL;
     if ( nLevel ) {
         // res. exists at cur. level
-        pResData = aResStack.GetObject( nLevel-1 );
+        pResData = ( (nLevel-1) < aResStack.size() ) ? aResStack[ nLevel-1 ] : NULL;
     }
     else if (( nToken != RESSOURCE ) &&
             ( nToken != RESSOURCEEXPR ) &&
@@ -664,13 +662,13 @@ int Export::Execute( int nToken, const char * pToken )
             // this is the beginning of a new res.
             nLevel++;
             if ( nLevel > 1 ) {
-                aResStack.GetObject( nLevel - 2 )->bChild = TRUE;
+                aResStack[ nLevel - 2 ]->bChild = TRUE;
             }
 
             // create new instance for this res. and fill mandatory fields
 
             pResData = new ResData( sActPForm, FullId() , sFilename );
-            aResStack.Insert( pResData, LIST_APPEND );
+            aResStack.push_back( pResData );
             ByteString sBackup( sToken );
             sToken.EraseAllChars( '\n' );
             sToken.EraseAllChars( '\r' );
@@ -706,13 +704,13 @@ int Export::Execute( int nToken, const char * pToken )
             bNextMustBeDefineEOL = FALSE;
             nLevel++;
             if ( nLevel > 1 ) {
-                aResStack.GetObject( nLevel - 2 )->bChild = TRUE;
+                aResStack[ nLevel - 2 ]->bChild = TRUE;
             }
 
             // create new instance for this res. and fill mandatory fields
 
             pResData = new ResData( sActPForm, FullId() , sFilename );
-            aResStack.Insert( pResData, LIST_APPEND );
+            aResStack.push_back( pResData );
             sToken.EraseAllChars( '\n' );
             sToken.EraseAllChars( '\r' );
             sToken.EraseAllChars( '{' );
@@ -735,12 +733,12 @@ int Export::Execute( int nToken, const char * pToken )
                 sLowerTyp = "unknown";
             nLevel++;
             if ( nLevel > 1 ) {
-                aResStack.GetObject( nLevel - 2 )->bChild = TRUE;
+                aResStack[ nLevel - 2 ]->bChild = TRUE;
             }
 
             ResData *pNewData = new ResData( sActPForm, FullId() , sFilename );
             pNewData->sResTyp = sLowerTyp;
-            aResStack.Insert( pNewData, LIST_APPEND );
+            aResStack.push_back( pNewData );
         }
         break;
         case LEVELDOWN: {
@@ -753,8 +751,10 @@ int Export::Execute( int nToken, const char * pToken )
                         bNextMustBeDefineEOL = FALSE;
                     }
                     WriteData( pResData );
-                    delete aResStack.GetObject( nLevel - 1 );
-                    aResStack.Remove( nLevel - 1 );
+                    ResStack::iterator it = aResStack.begin();
+                    ::std::advance( it, nLevel-1 );
+                    delete *it;
+                    aResStack.erase( it );
                     nLevel--;
                 }
             }
@@ -1466,9 +1466,9 @@ ByteString Export::FullId()
 {
     ByteString sFull;
     if ( nLevel > 1 ) {
-        sFull = aResStack.GetObject( 0 )->sId;
-        for ( USHORT i = 1; i < nLevel - 1; i++ ) {
-            ByteString sToAdd = aResStack.GetObject( i )->sId;
+        sFull = aResStack[ 0 ]->sId;
+        for ( size_t i = 1; i < nLevel - 1; i++ ) {
+            ByteString sToAdd = aResStack[ i ]->sId;
             if ( sToAdd.Len()) {
                 sFull += ".";
                 sFull += sToAdd;
@@ -1489,7 +1489,7 @@ ByteString Export::FullId()
 void Export::InsertListEntry( const ByteString &rText, const ByteString &rLine )
 /*****************************************************************************/
 {
-    ResData *pResData = aResStack.GetObject( nLevel-1 );
+    ResData *pResData = ( nLevel-1 < aResStack.size() ) ? aResStack[ nLevel-1 ] : NULL;
 
     ExportList *pList = NULL;
     if ( nList == LIST_STRING ) {
@@ -1852,9 +1852,6 @@ BOOL Export::PrepareTextToMerge( ByteString &rText, USHORT nTyp,
             if ( pList ) {
                 ExportListEntry *pCurEntry = (*pList)[ nListIndex - 1 ];
                 if ( pCurEntry ) {
-                    //printf("%s\n",Export::DumpMap( "pCurEntry", *pCurEntry ).GetBuffer() );
-                    //ByteString a("pCurEntry");
-                    //Export::DumpMap( a , *pCurEntry );
                     rText = (*pCurEntry)[ SOURCE_LANGUAGE ];
                     if( nTyp == LIST_PAIRED ){
                         pResData->addMergedLanguage( nLangIndex );
@@ -1903,15 +1900,6 @@ BOOL Export::PrepareTextToMerge( ByteString &rText, USHORT nTyp,
         case STRING_TYP_QUICKHELPTEXT :
         case STRING_TYP_TITLE :
         {
-            /*if ( bUnmerge ) {
-                if (( nLangIndex != ByteString("de") ) &&
-                    ( nLangIndex != ByteString("en-US") ))
-                {
-                    bDontWriteOutput = TRUE;
-                }
-                return TRUE;
-            }*/
-
             nStart = rText.Search( "=" );
             if ( nStart == STRING_NOTFOUND ) {
                 rText = sOrigText;
@@ -1962,15 +1950,8 @@ BOOL Export::PrepareTextToMerge( ByteString &rText, USHORT nTyp,
         else if( !isInitialized )InitLanguages();
 
     }
-//	printf("*************DUMPING****************\n");
-//	printf("%s\n",pMergeDataFile->Dump().GetBuffer());
-//	printf("*************DUMPING****************\n");
 
-//	printf("Dumping ResData\n");
-//	pResData->Dump();
     PFormEntrys *pEntrys = pMergeDataFile->GetPFormEntrys( pResData );
-    //printf("Dumping pEntrys\n");
-    //if( pEntrys ) pEntrys->Dump();
     pResData->sId = sOldId;
     pResData->sGId = sOldGId;
     pResData->sResTyp = sOldTyp;
@@ -1982,13 +1963,11 @@ BOOL Export::PrepareTextToMerge( ByteString &rText, USHORT nTyp,
 
     ByteString sContent;
     pEntrys->GetTransex3Text( sContent, nTyp, nLangIndex );
-    //if ( !sContent.Len() && ( ! nLangIndex.EqualsIgnoreCaseAscii("en-US") )) {
     if ( !sContent.Len() && ( ! Export::isSourceLanguage( nLangIndex ) )) {
         rText = sOrigText;
         return FALSE; // no data found
     }
 
-    //if ( nLangIndex.EqualsIgnoreCaseAscii("en-US") ) {
     if ( Export::isSourceLanguage( nLangIndex ) ) {
         return FALSE;
     }
@@ -1996,12 +1975,10 @@ BOOL Export::PrepareTextToMerge( ByteString &rText, USHORT nTyp,
     ByteString sPostFix( rText.Copy( ++nEnd ));
     rText.Erase( nStart );
 
-    //ConvertMergeContent( sContent, nTyp );
     ConvertMergeContent( sContent );
 
 
 
-    //printf("Merged %s\n",nLangIndex.GetBuffer());
     // merge new res. in text line
     rText += sContent;
     rText += sPostFix;
@@ -2013,10 +1990,6 @@ BOOL Export::PrepareTextToMerge( ByteString &rText, USHORT nTyp,
 void Export::MergeRest( ResData *pResData, USHORT nMode )
 /*****************************************************************************/
 {
-    //if ( bUnmerge ) { return;}
-
-    //pResData->Dump();
-
     if ( !pMergeDataFile ){
         pMergeDataFile = new MergeDataFile( sMergeSrc, sFile ,bErrorLog, aCharSet);//, bUTF8 );
 
@@ -2055,7 +2028,6 @@ void Export::MergeRest( ResData *pResData, USHORT nMode )
                         bFirst=FALSE;
                         sOutput += "\t";
                         sOutput += pResData->sTextTyp;
-                        //if ( !sCur.EqualsIgnoreCaseAscii("en-US")) {
                         if ( ! Export::isSourceLanguage( sCur ) ) {
                             sOutput += "[ ";
                             sOutput += sCur;
@@ -2108,7 +2080,6 @@ void Export::MergeRest( ResData *pResData, USHORT nMode )
                         bFirst=FALSE;
                         sOutput += "\t";
                         sOutput += "QuickHelpText";
-                        //if ( !sCur.EqualsIgnoreCaseAscii("en-US") ) {
                         if ( ! Export::isSourceLanguage( sCur ) ) {
                             sOutput += "[ ";
                             sOutput += sCur;
@@ -2155,7 +2126,6 @@ void Export::MergeRest( ResData *pResData, USHORT nMode )
                         bFirst=FALSE;
                         sOutput += "\t";
                         sOutput += "Title";
-                        //if ( !sCur.EqualsIgnoreCaseAscii("en-US") ) {
                         if ( ! Export::isSourceLanguage( sCur ) ) {
                             sOutput += "[ ";
                             sOutput += sCur;
@@ -2183,9 +2153,6 @@ void Export::MergeRest( ResData *pResData, USHORT nMode )
             // Merge Lists
 
             if ( pResData->bList ) {
-                //printf("Dumping ResData\n");
-                //pResData->Dump();
-
                 bool bPairedList = false;
                 ByteString sOldId = pResData->sId;
                 ByteString sOldGId = pResData->sGId;
@@ -2225,7 +2192,6 @@ void Export::MergeRest( ResData *pResData, USHORT nMode )
                             nMaxIndex = pList->GetSourceLanguageListEntryCount();
                         pEntrys = pMergeDataFile->GetPFormEntrys( pResData );
                         while( pEntrys  && ( nLIndex < nMaxIndex )) {
-                            //printf("Lang %s, List Index %d\n",sCur.GetBuffer(),(int)nLIndex);
                             ByteString sText;
                             BOOL bText;
                             bText = pEntrys->GetTransex3Text( sText, STRING_TYP_TEXT, sCur, TRUE );
@@ -2233,7 +2199,6 @@ void Export::MergeRest( ResData *pResData, USHORT nMode )
                                 bText = pEntrys->GetTransex3Text( sText , STRING_TYP_TEXT, SOURCE_LANGUAGE , FALSE );
 
                             // Use fallback, if data is missing in sdf file
-                            //if( !bText && pResData->sResTyp.Equals( "pairedlist" ) ){
                             if( !bText && bPairedList ){
                                 if( pResData->isMerged( sCur ) ) break;
                                 const ByteString sPlist("pairedlist");
@@ -2247,7 +2212,6 @@ void Export::MergeRest( ResData *pResData, USHORT nMode )
                             } // new fallback
 
                             if ( bText && sText.Len()) {
-                                //if( pEntrys ) pEntrys->Dump();
                                 if ( nIdx == 1 ) {
                                     ByteString sHead;
                                     if ( bNextMustBeDefineEOL )
@@ -2323,7 +2287,6 @@ void Export::MergeRest( ResData *pResData, USHORT nMode )
                                     sText1 += " ;\n";
                                 sText1 += sSpace;
                                 sText1 += "\t";
-                                //printf("Writing '%s'\n",sText1.GetBuffer());
                                 WriteToMerged( sText1 ,true );
 
                                 // Set matching pairedlist identifier
@@ -2431,15 +2394,14 @@ ByteString Export::MergePairedList( ByteString& sLine , ByteString& sText ){
 void Export::SetChildWithText()
 /*****************************************************************************/
 {
-    if ( aResStack.Count() > 1 ) {
-        for ( ULONG i = 0; i < aResStack.Count() - 1; i++ ) {
-            aResStack.GetObject( i )->bChildWithText = TRUE;
+    if ( aResStack.size() > 1 ) {
+        for ( size_t i = 0; i < aResStack.size() - 1; i++ ) {
+            aResStack[ i ]->bChildWithText = TRUE;
         }
     }
 }
 
 void ParserQueue::Push( const QueueEntry& aEntry ){
-//    printf("nTyp = %d ",aEntry.nTyp);
     USHORT nLen = aEntry.sLine.Len();
 
     if( !bStart ){


More information about the Libreoffice-commits mailing list