summaryrefslogtreecommitdiffstats
path: root/l10ntools
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-08-15 00:22:23 +0100
committerCaolán McNamara <caolanm@redhat.com>2011-08-15 09:21:49 +0100
commit061ebc34468c37d27524352de56faaf9df742556 (patch)
tree96d924d1f23690029ba13598290858881bdb2495 /l10ntools
parentadd a jdk 1.5-alike string replace to comphelper::string (diff)
downloadcore-061ebc34468c37d27524352de56faaf9df742556.tar.gz
core-061ebc34468c37d27524352de56faaf9df742556.zip
add a getToken wrapper for extracting a single token painlessly
Diffstat (limited to 'l10ntools')
-rw-r--r--l10ntools/source/export.cxx29
-rw-r--r--l10ntools/source/makefile.mk1
2 files changed, 19 insertions, 11 deletions
diff --git a/l10ntools/source/export.cxx b/l10ntools/source/export.cxx
index b6a47a008f72..9cfb032cfbfa 100644
--- a/l10ntools/source/export.cxx
+++ b/l10ntools/source/export.cxx
@@ -36,6 +36,7 @@
#include <iostream>
#include <vector>
#include <rtl/strbuf.hxx>
+#include <comphelper/string.hxx>
extern "C" { int yyerror( const char * ); }
extern "C" { int YYWarning( const char * ); }
@@ -1032,23 +1033,29 @@ int Export::Execute( int nToken, const char * pToken )
bDontWriteOutput = sal_True;
}
break;
- case APPFONTMAPPING: {
+ case APPFONTMAPPING:
+ {
+ using comphelper::string::replace;
+ using comphelper::string::getToken;
+
bDontWriteOutput = sal_False;
// this is a AppfontMapping, so look if its a definition
// of field size
ByteString sKey = sToken.GetToken( 0, '=' );
sKey.EraseAllChars( ' ' );
sKey.EraseAllChars( '\t' );
- ByteString sMapping = sToken.GetToken( 1, '=' );
- sMapping = sMapping.GetToken( 1, '(' );
- sMapping = sMapping.GetToken( 0, ')' );
- sMapping.EraseAllChars( ' ' );
- sMapping.EraseAllChars( '\t' );
- if ( sKey.ToUpperAscii() == "SIZE" ) {
- pResData->nWidth = ( sal_uInt16 ) sMapping.GetToken( 0, ',' ).ToInt32();
- }
- else if ( sKey == "POSSIZE" ) {
- pResData->nWidth = ( sal_uInt16 ) sMapping.GetToken( 2, ',' ).ToInt32();
+ rtl::OString sMapping = sToken.GetToken( 1, '=' );
+ sMapping = getToken(sMapping, 1, '(');
+ sMapping = getToken(sMapping, 0, ')');
+ sMapping = replace(sMapping, rtl::OString(' '), rtl::OString());
+ sMapping = replace(sMapping, rtl::OString('\t'), rtl::OString());
+ if ( sKey.ToUpperAscii() == "SIZE" )
+ {
+ pResData->nWidth = ( sal_uInt16 ) getToken(sMapping, 0, ',').toInt32();
+ }
+ else if ( sKey == "POSSIZE" )
+ {
+ pResData->nWidth = ( sal_uInt16 ) getToken(sMapping, 2, ',').toInt32();
}
}
break;
diff --git a/l10ntools/source/makefile.mk b/l10ntools/source/makefile.mk
index 5ab3c4fdf23c..50e9e3388f2b 100644
--- a/l10ntools/source/makefile.mk
+++ b/l10ntools/source/makefile.mk
@@ -77,6 +77,7 @@ APP1TARGET= transex3
APP1OBJS= $(OBJ)$/src_yy_wrapper.obj
APP1STDLIBS+= \
$(TOOLSLIB) \
+ $(COMPHELPERLIB) \
$(SALLIB)
APP1LIBS+= $(LB)$/$(TARGET).lib
APP1DEPN= $(OBJ)$/src_yy_wrapper.obj $(LB)$/$(TARGET).lib