summaryrefslogtreecommitdiff
path: root/l10ntools
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-02-15 15:26:43 +0100
committerStephan Bergmann <sbergman@redhat.com>2012-02-15 15:41:09 +0100
commit9ab0b38e95133dab720408cc2c80093b8a201c10 (patch)
tree416dde227ed5c4ded99292feb94f36a64c327999 /l10ntools
parent42422f2599220b678aa41c4aadeec28df113c3ec (diff)
Various string function clean up
Added: * rtl::OString::matchL * rtl::OString::endsWith * rtl::OString::endsWithL * rtl::OString::indexOfL * rtl::OString::replaceFirst * rtl::OString::replaceAll * rtl::OString::getToken * rtl::OUString::endsWith * rtl::OUString::replaceFirst * rtl::OUString::replaceFirstAsciiL * rtl::OUString::replaceFirstAsciiLAsciiL * rtl::OUString::replaceAll * rtl::OUString::replaceAllAsciiL * rtl::OUString::replaceAllAsciiLAsciiL * rtl::OUString::getToken plus underlying C functions where necessary Deprecated: * comphelper::string::remove * comphelper::string::getToken Removed: * comphelper::string::searchAndReplaceAsciiL * comphelper::string::searchAndReplaceAllAsciiWithAscii * comphelper::string::searchAndReplaceAsciiI * comphelper::string::replace * comphelper::string::matchL * comphelper::string::matchIgnoreAsciiCaseL * comphelper::string::indexOfL Also fixed some apparent misuses of RTL_CONSTASCII_USTRINGPARAM -> RTL_CONSTASCII_STRINGPARAM.
Diffstat (limited to 'l10ntools')
-rw-r--r--l10ntools/inc/export.hxx10
-rw-r--r--l10ntools/source/cfgmerge.cxx46
-rw-r--r--l10ntools/source/export.cxx215
-rw-r--r--l10ntools/source/export2.cxx7
-rw-r--r--l10ntools/source/gsicheck.cxx2
-rw-r--r--l10ntools/source/helper.hxx78
-rw-r--r--l10ntools/source/helpmerge.cxx25
-rw-r--r--l10ntools/source/lngmerge.cxx26
-rw-r--r--l10ntools/source/localize.cxx8
-rw-r--r--l10ntools/source/merge.cxx3
-rw-r--r--l10ntools/source/xrmmerge.cxx39
11 files changed, 167 insertions, 292 deletions
diff --git a/l10ntools/inc/export.hxx b/l10ntools/inc/export.hxx
index 5e08239316c0..2355f5b23e46 100644
--- a/l10ntools/inc/export.hxx
+++ b/l10ntools/inc/export.hxx
@@ -54,8 +54,6 @@
#include <direct.h>
#endif
-#include "helper.hxx"
-
#define NO_TRANSLATE_ISO "x-no-translate"
class PFormEntrys;
@@ -196,8 +194,8 @@ public:
pPairedList( NULL ),
sPForm( rPF )
{
- helper::searchAndReplaceAll(&sGId, "\r", rtl::OString());
- helper::searchAndReplaceAll(&sPForm, "\r", rtl::OString());
+ sGId = sGId.replaceAll("\r", rtl::OString());
+ sPForm = sPForm.replaceAll("\r", rtl::OString());
}
ResData(const rtl::OString &rPF, const rtl::OString &rGId , const rtl::OString &rFilename)
@@ -227,8 +225,8 @@ public:
pPairedList( NULL ),
sPForm( rPF )
{
- helper::searchAndReplaceAll(&sGId, "\r", rtl::OString());
- helper::searchAndReplaceAll(&sPForm, "\r", rtl::OString());
+ sGId = sGId.replaceAll("\r", rtl::OString());
+ sPForm = sPForm.replaceAll("\r", rtl::OString());
}
};
diff --git a/l10ntools/source/cfgmerge.cxx b/l10ntools/source/cfgmerge.cxx
index 1d15fc78bea7..2c39fc68ee52 100644
--- a/l10ntools/source/cfgmerge.cxx
+++ b/l10ntools/source/cfgmerge.cxx
@@ -37,7 +37,6 @@
#include "rtl/strbuf.hxx"
#include "common.hxx"
-#include "helper.hxx"
#include "export.hxx"
#include "cfgmerge.hxx"
#include "tokens.h"
@@ -235,18 +234,12 @@ void CfgParser::AddText(
)
/*****************************************************************************/
{
- sal_Int32 nTextLen = 0;
- while ( rText.getLength() != nTextLen ) {
- nTextLen = rText.getLength();
- rText = rText.replace( '\n', ' ' );
- rText = rText.replace( '\r', ' ' );
- rText = rText.replace( '\t', ' ' );
- while (helper::searchAndReplace(&rText, " ", " ") != -1) {}
- }
- pStackData->sResTyp = rResTyp;
- WorkOnText( rText, rIsoLang );
-
- pStackData->sText[ rIsoLang ] = rText;
+ rText = rText.replaceAll(rtl::OString('\n'), rtl::OString()).
+ replaceAll(rtl::OString('\r'), rtl::OString()).
+ replaceAll(rtl::OString('\t'), rtl::OString());
+ pStackData->sResTyp = rResTyp;
+ WorkOnText( rText, rIsoLang );
+ pStackData->sText[ rIsoLang ] = rText;
}
/*****************************************************************************/
@@ -274,12 +267,8 @@ int CfgParser::ExecuteAnalyzedToken( int nToken, char *pToken )
case ANYTOKEN:
case CFG_TEXT_START:
{
- sal_Int32 n = 0;
- rtl::OString t(sToken.getToken(1, '<', n));
- n = 0;
- t = t.getToken(0, '>', n);
- n = 0;
- sTokenName = t.getToken(0, ' ', n);
+ sTokenName = sToken.getToken(1, '<').getToken(0, '>').
+ getToken(0, ' ');
if ( !IsTokenClosed( sToken )) {
rtl::OString sSearch;
@@ -315,8 +304,7 @@ int CfgParser::ExecuteAnalyzedToken( int nToken, char *pToken )
sCurrentResTyp = sTokenName;
rtl::OString sTemp = sToken.copy( sToken.indexOf( "xml:lang=" ));
- n = 0;
- sCurrentIsoLang = sTemp.getToken(1, '"', n);
+ sCurrentIsoLang = sTemp.getToken(1, '"');
if ( sCurrentIsoLang == NO_TRANSLATE_ISO )
bLocalize = sal_False;
@@ -330,8 +318,7 @@ int CfgParser::ExecuteAnalyzedToken( int nToken, char *pToken )
if ( !sSearch.isEmpty())
{
rtl::OString sTemp = sToken.copy( sToken.indexOf( sSearch ));
- n = 0;
- sTokenId = sTemp.getToken(1, '"', n);
+ sTokenId = sTemp.getToken(1, '"');
}
pStackData = aStack.Push( sTokenName, sTokenId );
@@ -356,12 +343,8 @@ int CfgParser::ExecuteAnalyzedToken( int nToken, char *pToken )
break;
case CFG_CLOSETAG:
{
- sal_Int32 n = 0;
- rtl::OString t(sToken.getToken(1, '/', n));
- n = 0;
- t = t.getToken(0, '>', n);
- n = 0;
- sTokenName = t.getToken(0, ' ', n);
+ sTokenName = sToken.getToken(1, '/').getToken(0, '>').
+ getToken(0, ' ');
if ( aStack.GetStackData() && ( aStack.GetStackData()->GetTagType() == sTokenName ))
{
if (sCurrentText.isEmpty())
@@ -660,13 +643,12 @@ void CfgMerge::WorkOnRessourceEnd()
sSearch += sTemp.getToken(0, '"', n);
sSearch += "\"";
- n = 0;
- rtl::OString sReplace = sTemp.getToken(0, '"', n);
+ rtl::OString sReplace = sTemp.getToken(0, '"');
sReplace += "\"";
sReplace += sCur;
sReplace += "\"";
- helper::searchAndReplace(&sTextTag, sSearch, sReplace);
+ sTextTag = sTextTag.replaceFirst(sSearch, sReplace);
sAdditionalLine += sTextTag;
sAdditionalLine += sText;
diff --git a/l10ntools/source/export.cxx b/l10ntools/source/export.cxx
index c57591b3553e..6a43da8068b1 100644
--- a/l10ntools/source/export.cxx
+++ b/l10ntools/source/export.cxx
@@ -243,7 +243,7 @@ sal_Bool ResData::SetId( const rtl::OString& rId, sal_uInt16 nLevel )
if ( sId.getLength() > 255 )
{
YYWarning( "LocalId > 255 chars, truncating..." );
- sId = helper::trimAscii(sId.copy(0, 255));
+ sId = sId.copy(0, 255).trim();
}
return sal_True;
@@ -362,8 +362,8 @@ int Export::Execute( int nToken, const char * pToken )
if ( nToken == CONDITION )
{
rtl::OString sTestToken(pToken);
- helper::searchAndReplaceAll(&sTestToken, "\t", rtl::OString());
- helper::searchAndReplaceAll(&sTestToken, " ", rtl::OString());
+ sTestToken = sTestToken.replaceAll("\t", rtl::OString()).
+ replaceAll(" ", rtl::OString());
if (( !bReadOver ) && ( sTestToken.indexOf("#ifndef__RSC_PARSER") == 0 ))
bReadOver = sal_True;
else if (( bReadOver ) && ( sTestToken.indexOf("#endif") == 0 ))
@@ -456,9 +456,14 @@ int Export::Execute( int nToken, const char * pToken )
switch ( nToken ) {
case NORMDEFINE:
- while( helper::searchAndReplace(&sToken, "\r", " " ) != -1 ) {};
- while( helper::searchAndReplace(&sToken, "\t", " " ) != -1 ) {};
- while( helper::searchAndReplace(&sToken, " ", " " ) != -1 ) {};
+ sToken = sToken.replace('\r', ' ').replace('\t', ' ');
+ for (;;) {
+ sal_Int32 n = 0;
+ sToken = sToken.replaceFirst(" ", " ", &n);
+ if (n == -1) {
+ break;
+ }
+ }
if( sToken.equalsIgnoreAsciiCaseL(RTL_CONSTASCII_STRINGPARAM("#define NO_LOCALIZE_EXPORT")) ){
bSkipFile = true;
return 0;
@@ -487,13 +492,11 @@ int Export::Execute( int nToken, const char * pToken )
pResData = new ResData( sActPForm, FullId() , sFilename );
aResStack.push_back( pResData );
- helper::searchAndReplaceAll(&sToken, "\n", rtl::OString());
- helper::searchAndReplaceAll(&sToken, "\r", rtl::OString());
- helper::searchAndReplaceAll(&sToken, "{", rtl::OString());
- helper::searchAndReplaceAll(&sToken, "\t", " ");
- sToken = helper::trimAscii(sToken);
- sal_Int32 n = 0;
- rtl::OString sTLower = sToken.getToken(0, ' ', n).toAsciiLowerCase();
+ sToken = sToken.replaceAll("\n", rtl::OString()).
+ replaceAll("\r", rtl::OString()).
+ replaceAll("{", rtl::OString()).replace('\t', ' ');
+ sToken = sToken.trim();
+ rtl::OString sTLower = sToken.getToken(0, ' ').toAsciiLowerCase();
pResData->sResTyp = sTLower;
rtl::OString sId( sToken.copy( pResData->sResTyp.getLength() + 1 ));
rtl::OString sCondition;
@@ -501,14 +504,13 @@ int Export::Execute( int nToken, const char * pToken )
{
// between ResTyp, Id and paranthes is a precomp. condition
sCondition = "#";
- n = 0;
+ sal_Int32 n = 0;
sId = sId.getToken(0, '#', n);
sCondition += sId.getToken(0, '#', n);
}
- n = 0;
- sId = sId.getToken(0, '/', n);
+ sId = sId.getToken(0, '/');
CleanValue( sId );
- helper::searchAndReplaceAll(&sId, "\t", rtl::OString());
+ sId = sId.replaceAll("\t", rtl::OString());
pResData->SetId( sId, ID_LEVEL_IDENTIFIER );
if (!sCondition.isEmpty())
{
@@ -529,13 +531,12 @@ int Export::Execute( int nToken, const char * pToken )
pResData = new ResData( sActPForm, FullId() , sFilename );
aResStack.push_back( pResData );
- helper::searchAndReplaceAll(&sToken, "\n", rtl::OString());
- helper::searchAndReplaceAll(&sToken, "\r", rtl::OString());
- helper::searchAndReplaceAll(&sToken, "{", rtl::OString());
- helper::searchAndReplaceAll(&sToken, "\t", rtl::OString());
- helper::searchAndReplaceAll(&sToken, " ", rtl::OString());
- helper::searchAndReplaceAll(&sToken, "\\", rtl::OString());
- sToken = sToken.toAsciiLowerCase();
+ sToken = sToken.replaceAll("\n", rtl::OString()).
+ replaceAll("\r", rtl::OString()).
+ replaceAll("{", rtl::OString()).
+ replaceAll("\t", rtl::OString()).
+ replaceAll(" ", rtl::OString()).
+ replaceAll("\\", rtl::OString()).toAsciiLowerCase();
pResData->sResTyp = sToken;
}
break;
@@ -595,17 +596,17 @@ int Export::Execute( int nToken, const char * pToken )
bDontWriteOutput = sal_False;
// interpret different types of assignement
sal_Int32 n = 0;
- rtl::OString sKey = sToken.getToken(0, '=', n);
- helper::searchAndReplaceAll(&sKey, " ", rtl::OString());
- helper::searchAndReplaceAll(&sKey, "\t", rtl::OString());
+ rtl::OString sKey = sToken.getToken(0, '=', n).
+ replaceAll(" ", rtl::OString()).
+ replaceAll("\t", rtl::OString());
rtl::OString sValue = sToken.getToken(0, '=', n);
CleanValue( sValue );
sKey = sKey.toAsciiUpperCase();
if (sKey.equalsL(RTL_CONSTASCII_STRINGPARAM("IDENTIFIER")))
{
- rtl::OString sId(sValue);
- helper::searchAndReplaceAll(&sId, "\t", rtl::OString());
- helper::searchAndReplaceAll(&sId, " ", rtl::OString());
+ rtl::OString sId(
+ sValue.replaceAll("\t", rtl::OString()).
+ replaceAll(" ", rtl::OString()));
pResData->SetId(sId, ID_LEVEL_IDENTIFIER);
}
else if (sKey.equalsL(RTL_CONSTASCII_STRINGPARAM("HELPID")))
@@ -648,16 +649,14 @@ int Export::Execute( int nToken, const char * pToken )
case LISTASSIGNMENT:
{
bDontWriteOutput = sal_False;
- rtl::OString sTmpToken(sToken);
- helper::searchAndReplaceAll(&sTmpToken, " ", rtl::OString());
- sTmpToken = sTmpToken.toAsciiLowerCase();
+ rtl::OString sTmpToken(
+ sToken.replaceAll(" ", rtl::OString()).toAsciiLowerCase());
sal_Int32 nPos = sTmpToken.indexOf("[en-us]=");
if (nPos != -1) {
- rtl::OString sKey(sTmpToken.copy(0 , nPos));
- helper::searchAndReplaceAll(&sKey, " ", rtl::OString());
- helper::searchAndReplaceAll(&sKey, "\t", rtl::OString());
- sal_Int32 n = 0;
- rtl::OString sValue = sToken.getToken(1, '=', n);
+ rtl::OString sKey(
+ sTmpToken.copy(0 , nPos).replaceAll(" ", rtl::OString()).
+ replaceAll("\t", rtl::OString()));
+ rtl::OString sValue = sToken.getToken(1, '=');
CleanValue( sValue );
sKey = sKey.toAsciiUpperCase();
if (sKey.equalsL(RTL_CONSTASCII_STRINGPARAM("STRINGLIST")))
@@ -706,10 +705,9 @@ int Export::Execute( int nToken, const char * pToken )
{
// new res. is a String- or FilterList
sal_Int32 n = 0;
- rtl::OString sKey = sToken.getToken(0, '[', n);
- helper::searchAndReplaceAll(&sKey, " ", rtl::OString());
- helper::searchAndReplaceAll(&sKey, "\t", rtl::OString());
- sKey = sKey.toAsciiUpperCase();
+ rtl::OString sKey(
+ sToken.getToken(0, '[', n).replaceAll(" ", rtl::OString()).
+ replaceAll("\t", rtl::OString()).toAsciiUpperCase());
if (sKey.equalsL(RTL_CONSTASCII_STRINGPARAM("STRINGLIST")))
nList = LIST_STRING;
else if (sKey.equalsL(RTL_CONSTASCII_STRINGPARAM("FILTERLIST")))
@@ -758,23 +756,16 @@ int Export::Execute( int nToken, const char * pToken )
CutComment( sToken );
// this is a text line!!!
- sal_Int32 n = 0;
- rtl::OString t(sToken.getToken(0, '=', n));
- n = 0;
- rtl::OString sKey = t.getToken(0, '[', n);
- helper::searchAndReplaceAll(&sKey, " ", rtl::OString());
- helper::searchAndReplaceAll(&sKey, "\t", rtl::OString());
+ rtl::OString t(sToken.getToken(0, '='));
+ rtl::OString sKey(
+ t.getToken(0, '[').replaceAll(" ", rtl::OString()).
+ replaceAll("\t", rtl::OString()));
rtl::OString sText( GetText( sToken, nToken ));
rtl::OString sLang;
- n = 0;
- if ( sToken.getToken(0, '=', n).indexOf('[') != -1 )
+ if ( sToken.getToken(0, '=').indexOf('[') != -1 )
{
- n = 0;
- t = sToken.getToken(0, '=', n);
- n = 0;
- t = t.getToken(1, '[', n);
- n = 0;
- sLang = t.getToken(0, ']', n);
+ sLang = sToken.getToken(0, '=').getToken(1, '[').
+ getToken(0, ']');
CleanValue( sLang );
}
rtl::OString sLangIndex = sLang;
@@ -879,25 +870,19 @@ int Export::Execute( int nToken, const char * pToken )
// this is a AppfontMapping, so look if its a definition
// of field size
sal_Int32 n = 0;
- rtl::OString sKey = sToken.getToken(0, '=', n);
- helper::searchAndReplaceAll(&sKey, " ", rtl::OString());
- helper::searchAndReplaceAll(&sKey, "\t", rtl::OString());
+ rtl::OString sKey(
+ sToken.getToken(0, '=', n).replaceAll(" ", rtl::OString()).
+ replaceAll("\t", rtl::OString()));
rtl::OString sMapping = sToken.getToken(0, '=', n);
- n = 0;
- sMapping = sMapping.getToken(1, '(', n);
- n = 0;
- sMapping = sMapping.getToken(0, ')', n);
- helper::searchAndReplaceAll(
- &sMapping, rtl::OString(' '), rtl::OString());
- helper::searchAndReplaceAll(
- &sMapping, rtl::OString('\t'), rtl::OString());
- sKey = sKey.toAsciiUpperCase();
+ sMapping = sMapping.getToken(1, '(');
+ sMapping = sMapping.getToken(0, ')').
+ replaceAll(rtl::OString(' '), rtl::OString()).
+ replaceAll(rtl::OString('\t'), rtl::OString()).
+ toAsciiUpperCase();
if (sKey.equalsL(RTL_CONSTASCII_STRINGPARAM("SIZE"))) {
- n = 0;
- pResData->nWidth = sMapping.getToken(0, ',', n).toInt32();
+ pResData->nWidth = sMapping.getToken(0, ',').toInt32();
} else if (sKey.equalsL(RTL_CONSTASCII_STRINGPARAM("POSSIZE"))) {
- n = 0;
- pResData->nWidth = sMapping.getToken(2, ',', n).toInt32();
+ pResData->nWidth = sMapping.getToken(2, ',').toInt32();
}
}
break;
@@ -906,9 +891,14 @@ int Export::Execute( int nToken, const char * pToken )
break;
case CONDITION: {
bDontWriteOutput = sal_False;
- while( helper::searchAndReplace(&sToken, "\r", " " ) != -1 ) {};
- while( helper::searchAndReplace(&sToken, "\t", " " ) != -1 ) {};
- while( helper::searchAndReplace(&sToken, " ", " " ) != -1 ) {};
+ sToken = sToken.replace('\r', ' ').replace('\t', ' ');
+ for (;;) {
+ sal_Int32 n = 0;
+ sToken = sToken.replaceFirst(" ", " ", &n);
+ if (n == -1) {
+ break;
+ }
+ }
sal_Int32 n = 0;
rtl::OString sCondition(sToken.getToken(0, ' ', n));
if ( sCondition == "#ifndef" ) {
@@ -920,12 +910,10 @@ int Export::Execute( int nToken, const char * pToken )
sActPForm += sToken.getToken(0, ' ', n);
}
else if ( sCondition == "#if" ) {
- sActPForm = sToken.copy( 4 );
- while ( helper::searchAndReplace(&sActPForm, "||", "\\or" ) != -1 ) {};
+ sActPForm = sToken.copy( 4 ).replaceAll("||", "\\or");
}
else if ( sCondition == "#elif" ) {
- sActPForm = sToken.copy( 6 );
- while ( helper::searchAndReplace(&sActPForm, "||", "\\or" ) != -1 ) {};
+ sActPForm = sToken.copy( 6 ).replaceAll("||", "\\or");
}
else if ( sCondition == "#else" ) {
sActPForm = sCondition;
@@ -985,8 +973,7 @@ void Export::CutComment( rtl::OString &rText )
/*****************************************************************************/
{
if (rText.indexOf("//") != -1) {
- rtl::OString sWork(rText);
- helper::searchAndReplaceAll(&sWork, "\\\"", "XX");
+ rtl::OString sWork(rText.replaceAll("\\\"", "XX"));
bool bInner = false;
for (sal_Int32 i = 0; i < sWork.getLength() - 1; ++i) {
if (sWork[i] == '"') {
@@ -1135,20 +1122,17 @@ sal_Bool Export::WriteData( ResData *pResData, sal_Bool bCreateNew )
rtl::OString Export::GetPairedListID(const rtl::OString& rText)
{
// < "STRING" ; IDENTIFIER ; > ;
- sal_Int32 n = 0;
- return helper::trimAscii(
- rText.getToken(1, ';', n).toAsciiUpperCase().replace('\t', ' '));
+ return rText.getToken(1, ';').toAsciiUpperCase().replace('\t', ' ').trim();
}
rtl::OString Export::GetPairedListString(const rtl::OString& rText)
{
// < "STRING" ; IDENTIFIER ; > ;
- sal_Int32 n = 0;
- rtl::OString sString(rText.getToken(0, ';', n).replace('\t', ' '));
- sString = helper::trimAscii(sString);
+ rtl::OString sString(rText.getToken(0, ';').replace('\t', ' '));
+ sString = sString.trim();
rtl::OString s1(sString.copy(sString.indexOf('"') + 1));
sString = s1.copy(0, s1.lastIndexOf('"'));
- return helper::trimAscii(sString);
+ return sString.trim();
}
rtl::OString Export::StripList(const rtl::OString & rText)
@@ -1360,20 +1344,17 @@ rtl::OString Export::GetText(const rtl::OString &rSource, int nToken)
{
rtl::OString sTmp(rSource.copy(rSource.indexOf("=")));
CleanValue( sTmp );
- helper::searchAndReplaceAll(&sTmp, "\n", rtl::OString());
- helper::searchAndReplaceAll(&sTmp, "\r", rtl::OString());
-
- helper::searchAndReplaceAll(
- &sTmp, "\\\\\"", "-=<[BSlashBSlashHKom]>=-\"");
- helper::searchAndReplaceAll(&sTmp, "\\\"", "-=<[Hochkomma]>=-");
- helper::searchAndReplaceAll(&sTmp, "\\", "-=<[0x7F]>=-");
- helper::searchAndReplaceAll(&sTmp, "\\0x7F", "-=<[0x7F]>=-");
+ sTmp = sTmp.replaceAll("\n", rtl::OString()).
+ replaceAll("\r", rtl::OString()).
+ replaceAll("\\\\\"", "-=<[BSlashBSlashHKom]>=-\"").
+ replaceAll("\\\"", "-=<[Hochkomma]>=-").
+ replaceAll("\\", "-=<[0x7F]>=-").
+ replaceAll("\\0x7F", "-=<[0x7F]>=-");
sal_uInt16 nState = TXT_STATE_TEXT;
for (sal_Int32 i = 1; i <= helper::countOccurrences(sTmp, '"'); ++i)
{
- sal_Int32 n = 0;
- rtl::OString sToken(sTmp.getToken(i, '"', n));
+ rtl::OString sToken(sTmp.getToken(i, '"'));
if (!sToken.isEmpty()) {
if ( nState == TXT_STATE_TEXT ) {
sReturn += sToken;
@@ -1381,10 +1362,14 @@ rtl::OString Export::GetText(const rtl::OString &rSource, int nToken)
}
else {
sToken = sToken.replace('\t', ' ');
- while (helper::searchAndReplace(&sToken, " ", " ")
- != -1)
- {}
- sToken = helper::trimAscii(sToken);
+ for (;;) {
+ sal_Int32 n = 0;
+ sToken = sToken.replaceFirst(" ", " ", &n);
+ if (n == -1) {
+ break;
+ }
+ }
+ sToken = sToken.trim();
if (!sToken.isEmpty()) {
sReturn += "\\\" ";
sReturn += sToken;
@@ -1395,13 +1380,11 @@ rtl::OString Export::GetText(const rtl::OString &rSource, int nToken)
}
}
- helper::searchAndReplaceAll(&sReturn, "-=<[0x7F]>=-", "");
- helper::searchAndReplaceAll(&sReturn, "-=<[Hochkomma]>=-", "\"");
- helper::searchAndReplaceAll(
- &sReturn, "-=<[BSlashBSlashHKom]>=-", "\\\\");
- helper::searchAndReplaceAll(
- &sReturn, "\\\\", "-=<[BSlashBSlash]>=-");
- helper::searchAndReplaceAll(&sReturn, "-=<[BSlashBSlash]>=-", "\\");
+ sReturn = sReturn.replaceAll("-=<[0x7F]>=-", "").
+ replaceAll("-=<[Hochkomma]>=-", "\"").
+ replaceAll("-=<[BSlashBSlashHKom]>=-", "\\\\").
+ replaceAll("\\\\", "-=<[BSlashBSlash]>=-").
+ replaceAll("-=<[BSlashBSlash]>=-", "\\");
}
break;
}
@@ -1411,7 +1394,13 @@ rtl::OString Export::GetText(const rtl::OString &rSource, int nToken)
void Export::WriteToMerged(const rtl::OString &rText , bool bSDFContent)
{
rtl::OString sText(rText);
- while (helper::searchAndReplace(&sText, " \n", "\n") != -1) {}
+ for (;;) {
+ sal_Int32 n = 0;
+ sText = sText.replaceFirst(" \n", "\n", &n);
+ if (n == -1) {
+ break;
+ }
+ }
if (pParseQueue->bNextIsM && bSDFContent && sText.getLength() > 2) {
for (sal_Int32 n = 0; n < sText.getLength(); ++n) {
if (sText[n] == '\n' && sText[n - 1] != '\\') {
@@ -1456,7 +1445,7 @@ void Export::ConvertMergeContent( rtl::OString &rText )
/*****************************************************************************/
{
sal_Bool bNoOpen = ( rText.indexOf( "\\\"" ) != 0 );
- sal_Bool bNoClose = !helper::endsWith(rText, "\\\"");
+ sal_Bool bNoClose = !rText.endsWithL(RTL_CONSTASCII_STRINGPARAM("\\\""));
rtl::OStringBuffer sNew;
for ( sal_Int32 i = 0; i < rText.getLength(); i++ )
{
@@ -1886,7 +1875,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
(( sLine.indexOf( '<' ) == -1 ) ||
( sLine.indexOf( '<' ) >= sLine.indexOf( '"' ))))
{
- helper::searchAndReplace(&sLine, "\"", "< \"" );
+ sLine = sLine.replaceFirst("\"", "< \"" );
}
}
@@ -1992,7 +1981,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
(( sLine.indexOf( '<' ) == -1 ) ||
( sLine.indexOf( '<' ) >= sLine.indexOf( '"' ))))
{
- helper::searchAndReplace(&sLine, "\"", "< \"" );
+ sLine = sLine.replaceFirst("\"", "< \"");
}
}
diff --git a/l10ntools/source/export2.cxx b/l10ntools/source/export2.cxx
index 1a1ae9112ece..bad5964b2f6e 100644
--- a/l10ntools/source/export2.cxx
+++ b/l10ntools/source/export2.cxx
@@ -29,7 +29,6 @@
#include "sal/config.h"
#include "export.hxx"
-#include "helper.hxx"
#include <stdio.h>
#include <osl/time.h>
#include <osl/process.h>
@@ -302,8 +301,7 @@ void Export::InitLanguages( bool bMergeMode ){
do
{
rtl::OString aToken = sLanguages.getToken(0, ',', nIndex);
- sal_Int32 n = 0;
- sTmp = helper::trimAscii(aToken.getToken(0, '=', n));
+ sTmp = aToken.getToken(0, '=').trim();
if( bMergeMode && !isAllowed( sTmp ) ){}
else if( !( (sTmp[0]=='x' || sTmp[0]=='X') && sTmp[1]=='-' ) ){
aLanguages.push_back( sTmp );
@@ -326,8 +324,7 @@ void Export::InitForcedLanguages( bool bMergeMode ){
{
rtl::OString aToken = sForcedLanguages.getToken(0, ',', nIndex);
- sal_Int32 n = 0;
- sTmp = helper::trimAscii(aToken.getToken(0, '=', n));
+ sTmp = aToken.getToken(0, '=').trim();
if( bMergeMode && isAllowed( sTmp ) ){}
else if( !( (sTmp[0]=='x' || sTmp[0]=='X') && sTmp[1]=='-' ) )
aForcedLanguages.push_back( sTmp );
diff --git a/l10ntools/source/gsicheck.cxx b/l10ntools/source/gsicheck.cxx
index 76b7928ff4b5..d1665ff0e720 100644
--- a/l10ntools/source/gsicheck.cxx
+++ b/l10ntools/source/gsicheck.cxx
@@ -363,7 +363,7 @@ void GSIBlock::PrintList( ParserMessageList *pList, rtl::OString const & aPrefix
aContext = pLine->GetText().copy( 0, 300 );
else
aContext = pLine->data_.copy( pMsg->GetTagBegin()-150, 300 );
- aContext = helper::trimAscii(aContext);
+ aContext = aContext.trim();
}
PrintMessage( pMsg->Prefix(), pMsg->GetErrorText(), aPrefix, aContext, pLine->GetLineNumber(), pLine->GetUniqId() );
diff --git a/l10ntools/source/helper.hxx b/l10ntools/source/helper.hxx
index b2ff952a675a..59f86287fd72 100644
--- a/l10ntools/source/helper.hxx
+++ b/l10ntools/source/helper.hxx
@@ -40,10 +40,6 @@
namespace helper {
-inline bool isAsciiWhitespace(char c) {
- return (c >= 0x09 && c <= 0x0D) || c == ' '; // HT, LF, VT, FF, CR
-}
-
// cf. comphelper::string::isdigitAsciiString:
inline bool isAllAsciiDigits(rtl::OString const & text) {
for (sal_Int32 i = 0; i != text.getLength(); ++i) {
@@ -74,19 +70,6 @@ inline bool isAllAsciiLowerCase(rtl::OString const & text) {
return true;
}
-inline bool endsWith(rtl::OString const & text, rtl::OString const & search) {
- return text.getLength() >= search.getLength()
- && text.match(search, text.getLength() - search.getLength());
-}
-
-inline bool endsWithAsciiL(
- rtl::OUString const & text, char const * search, sal_Int32 searchLength)
-{
- return text.getLength() >= searchLength
- && text.matchAsciiL(
- search, searchLength, text.getLength() - searchLength);
-}
-
inline sal_Int32 countOccurrences(rtl::OString const & text, char c) {
sal_Int32 n = 0;
for (sal_Int32 i = 0;; ++i) {
@@ -99,67 +82,6 @@ inline sal_Int32 countOccurrences(rtl::OString const & text, char c) {
return n;
}
-inline rtl::OString trimAscii(rtl::OString const & text) {
- sal_Int32 i1 = 0;
- while (i1 != text.getLength() && isAsciiWhitespace(text[i1])) {
- ++i1;
- }
- sal_Int32 i2 = text.getLength();
- while (i2 != i1 && isAsciiWhitespace(text[i2 - 1])) {
- --i2;
- }
- return text.copy(i1, i2 - i1);
-}
-
-inline sal_Int32 searchAndReplace(
- rtl::OString * text, rtl::OString const & search,
- rtl::OString const & replace)
-{
- assert(text != 0);
- sal_Int32 i = text->indexOf(search);
- if (i != -1) {
- *text = text->replaceAt(i, search.getLength(), replace);
- }
- return i;
-}
-
-inline void searchAndReplaceAll(
- rtl::OString * text, rtl::OString const & search,
- rtl::OString const & replace)
-{
- assert(text != 0);
- for (sal_Int32 i = 0;;) {
- i = text->indexOf(search, i);
- if (i == -1) {
- break;
- }
- *text = text->replaceAt(i, search.getLength(), replace);
- i += replace.getLength();
- }
-}
-
-inline void searchAndReplaceAll(
- rtl::OUString * text, rtl::OUString const & search,
- rtl::OUString const & replace)
-{
- assert(text != 0);
- for (sal_Int32 i = 0;;) {
- i = text->indexOf(search, i);
- if (i == -1) {
- break;
- }
- *text = text->replaceAt(i, search.getLength(), replace);
- i += replace.getLength();
- }
-}
-
-inline rtl::OString getToken(
- rtl::OString const & text, sal_Int32 token, char separator)
-{
- sal_Int32 i = 0;
- return text.getToken(token, separator, i);
-}
-
inline sal_Int32 indexOfAnyAsciiL(
rtl::OUString const & text, char const * chars, sal_Int32 charsLen,
sal_Int32 index = 0)
diff --git a/l10ntools/source/helpmerge.cxx b/l10ntools/source/helpmerge.cxx
index d3895e66c5fe..ceb0f1e27a29 100644
--- a/l10ntools/source/helpmerge.cxx
+++ b/l10ntools/source/helpmerge.cxx
@@ -143,13 +143,14 @@ bool HelpParser::CreateSDF(
if( pXMLElement != NULL )
{
- OUString data = pXMLElement->ToOUString();
- helper::searchAndReplaceAll(
- &data, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n")),
- rtl::OUString()); // remove \n
- helper::searchAndReplaceAll(
- &data, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t")),
- rtl::OUString()); // remove \t
+ OUString data(
+ pXMLElement->ToOUString().
+ replaceAll(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n")),
+ rtl::OUString()).
+ replaceAll(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t")),
+ rtl::OUString()));
sBuffer.append( sOUPrj );
sBuffer.append('\t');
if ( !rRoot_in.isEmpty())
@@ -306,13 +307,13 @@ bool HelpParser::MergeSingleFile( XMLFile* file , MergeDataFile& aMergeDataFile
rtl::OString HelpParser::GetOutpath( const rtl::OString& rPathX , const rtl::OString& sCur , const rtl::OString& rPathY )
{
rtl::OString testpath = rPathX;
- if (!helper::endsWith(testpath, "/")) {
+ if (!testpath.endsWithL(RTL_CONSTASCII_STRINGPARAM("/"))) {
testpath += "/";
}
testpath += sCur;
testpath += "/";
rtl::OString sRelativePath( rPathY );
- if (sRelativePath.getLength() != 0 && sRelativePath[0] == '/') {
+ if (sRelativePath.matchL(RTL_CONSTASCII_STRINGPARAM("/"))) {
sRelativePath = sRelativePath.copy(1);
}
testpath += sRelativePath;
@@ -322,14 +323,12 @@ rtl::OString HelpParser::GetOutpath( const rtl::OString& rPathX , const rtl::OSt
void HelpParser::MakeDir(const rtl::OString& rPath)
{
- rtl::OString sTPath(rPath);
- helper::searchAndReplaceAll(&sTPath, "\\", "/");
+ rtl::OString sTPath(rPath.replaceAll("\\", "/"));
sal_Int32 cnt = helper::countOccurrences(sTPath, '/');
rtl::OStringBuffer sCreateDir;
for (sal_uInt16 i = 0; i <= cnt; ++i)
{
- sal_Int32 n = 0;
- sCreateDir.append(sTPath.getToken(i , '/', n));
+ sCreateDir.append(sTPath.getToken(i , '/'));
sCreateDir.append('/');
#ifdef WNT
_mkdir( sCreateDir.getStr() );
diff --git a/l10ntools/source/lngmerge.cxx b/l10ntools/source/lngmerge.cxx
index 00a997aa2fad..6541bd9ab2ba 100644
--- a/l10ntools/source/lngmerge.cxx
+++ b/l10ntools/source/lngmerge.cxx
@@ -34,16 +34,12 @@
#include <string>
#include "common.hxx"
-#include "helper.hxx"
#include "lngmerge.hxx"
namespace {
rtl::OString getBracketedContent(rtl::OString text) {
- sal_Int32 n = 0;
- rtl::OString t(text.getToken(1, '[', n));
- n = 0;
- return t.getToken(0, ']', n);
+ return text.getToken(1, '[').getToken(0, ']');
}
}
@@ -162,10 +158,10 @@ void LngParser::WriteSDF(std::ofstream &aSDFStream,
bool LngParser::isNextGroup(rtl::OString &sGroup_out, rtl::OString &sLine_in)
{
- sLine_in = helper::trimAscii(sLine_in);
+ sLine_in = sLine_in.trim();
if ((sLine_in[0] == '[') && (sLine_in[sLine_in.getLength() - 1] == ']'))
{
- sGroup_out = helper::trimAscii(getBracketedContent(sLine_in));
+ sGroup_out = getBracketedContent(sLine_in).trim();
return true;
}
return false;
@@ -174,11 +170,9 @@ bool LngParser::isNextGroup(rtl::OString &sGroup_out, rtl::OString &sLine_in)
void LngParser::ReadLine(const rtl::OString &rLine_in,
OStringHashMap &rText_inout)
{
- sal_Int32 n = 0;
- rtl::OString sLang(helper::trimAscii(rLine_in.getToken(0, '=', n)));
+ rtl::OString sLang(rLine_in.getToken(0, '=').trim());
if (!sLang.isEmpty()) {
- n = 0;
- rtl::OString sText(rLine_in.getToken(1, '"', n));
+ rtl::OString sText(rLine_in.getToken(1, '"'));
rText_inout[sLang] = sText;
}
}
@@ -209,11 +203,11 @@ sal_Bool LngParser::Merge(
while ( nPos < pLines->size() && !bGroup )
{
rtl::OString sLine( *(*pLines)[ nPos ] );
- sLine = helper::trimAscii(sLine);
+ sLine = sLine.trim();
if (( sLine[0] == '[' ) &&
( sLine[sLine.getLength() - 1] == ']' ))
{
- sGroup = helper::trimAscii(getBracketedContent(sLine));
+ sGroup = getBracketedContent(sLine).trim();
bGroup = sal_True;
}
nPos ++;
@@ -235,11 +229,11 @@ sal_Bool LngParser::Merge(
while ( nPos < pLines->size() && !bGroup )
{
rtl::OString sLine( *(*pLines)[ nPos ] );
- sLine = helper::trimAscii(sLine);
+ sLine = sLine.trim();
if (( sLine[0] == '[' ) &&
( sLine[sLine.getLength() - 1] == ']' ))
{
- sGroup = helper::trimAscii(getBracketedContent(sLine));
+ sGroup = getBracketedContent(sLine).trim();
bGroup = sal_True;
nPos ++;
sLanguagesDone = "";
@@ -254,7 +248,7 @@ sal_Bool LngParser::Merge(
}
else
{
- sLang = helper::trimAscii(sLang);
+ sLang = sLang.trim();
rtl::OString sSearch( ";" );
sSearch += sLang;
diff --git a/l10ntools/source/localize.cxx b/l10ntools/source/localize.cxx
index e259ef722dcf..6fb83e1a9bc4 100644
--- a/l10ntools/source/localize.cxx
+++ b/l10ntools/source/localize.cxx
@@ -50,8 +50,6 @@
#include "sal/main.h"
#include "sal/types.h"
-#include "helper.hxx"
-
using namespace std;
namespace {
@@ -104,7 +102,7 @@ bool matchList(
rtl::OUString const & url, AsciiString const * list, std::size_t length)
{
for (std::size_t i = 0; i != length; ++i) {
- if (helper::endsWithAsciiL(url, list[i].string, list[i].length)) {
+ if (url.endsWithAsciiL(list[i].string, list[i].length)) {
return true;
}
}
@@ -272,8 +270,8 @@ void handleFile(
{ RTL_CONSTASCII_STRINGPARAM(".xhp"), "helpex", false },
{ RTL_CONSTASCII_STRINGPARAM(".properties"), "propex", false } };
for (std::size_t i = 0; i != SAL_N_ELEMENTS(commands); ++i) {
- if (helper::endsWithAsciiL(
- url, commands[i].extension, commands[i].extensionLength))
+ if (url.endsWithAsciiL(
+ commands[i].extension, commands[i].extensionLength))
{
handleCommand(
project, projectRoot, url,
diff --git a/l10ntools/source/merge.cxx b/l10ntools/source/merge.cxx
index c56bdafb0e4c..b9b8d400ec9b 100644
--- a/l10ntools/source/merge.cxx
+++ b/l10ntools/source/merge.cxx
@@ -34,7 +34,6 @@
#include <vector>
#include "export.hxx"
-#include "helper.hxx"
namespace
{
@@ -201,7 +200,7 @@ MergeDataFile::MergeDataFile(
rtl::OString sPFO = sLine.getToken( 1, '\t', n ); // token 7
sPFO = sHACK;
rtl::OString nLANG = sLine.getToken( 1, '\t', n ); // token 9
- nLANG = helper::trimAscii(nLANG);
+ nLANG = nLANG.trim();
const rtl::OString sTEXT = sLine.getToken( 0, '\t', n ); // token 10
const rtl::OString sQHTEXT = sLine.getToken( 1, '\t', n ); // token 12
const rtl::OString sTITLE = sLine.getToken( 0, '\t', n ); // token 13
diff --git a/l10ntools/source/xrmmerge.cxx b/l10ntools/source/xrmmerge.cxx
index 1e25534b4d4b..0f1e3e0d2fbf 100644
--- a/l10ntools/source/xrmmerge.cxx
+++ b/l10ntools/source/xrmmerge.cxx
@@ -34,7 +34,6 @@
#include "common.hxx"
#include "export.hxx"
-#include "helper.hxx"
#include "xrmmerge.hxx"
#include "tokens.h"
#include <iostream>
@@ -390,11 +389,10 @@ rtl::OString XRMResParser::GetAttribute( const rtl::OString &rToken, const rtl::
if ( nPos != -1 )
{
sTmp = sTmp.copy( nPos );
- sal_Int32 n = 0;
- rtl::OString sId = sTmp.getToken(1, '"', n);
+ rtl::OString sId = sTmp.getToken(1, '"');
return sId;
}
- return "";
+ return rtl::OString();
}
@@ -409,15 +407,14 @@ void XRMResParser::Error( const rtl::OString &rError )
void XRMResParser::ConvertStringToDBFormat( rtl::OString &rString )
/*****************************************************************************/
{
- rString = helper::trimAscii(rString);
- helper::searchAndReplaceAll(&rString, "\t", "\\t");
+ rString = rString.trim().replaceAll("\t", "\\t");
}
/*****************************************************************************/
void XRMResParser::ConvertStringToXMLFormat( rtl::OString &rString )
/*****************************************************************************/
{
- helper::searchAndReplaceAll(&rString, "\\t", "\t");
+ rString = rString.replaceAll("\\t", "\t");
}
@@ -480,8 +477,8 @@ void XRMResExport::WorkOnDesc(
)
/*****************************************************************************/
{
- rtl::OString sDescFileName(sInputFileName);
- helper::searchAndReplaceAll(&sDescFileName, "description.xml", "");
+ rtl::OString sDescFileName(
+ sInputFileName.replaceAll("description.xml", rtl::OString()));
sDescFileName += GetAttribute( rOpenTag, "xlink:href" );
int size;
char * memblock;
@@ -493,8 +490,7 @@ void XRMResExport::WorkOnDesc(
file.read (memblock, size);
file.close();
memblock[size] = '\0';
- rText = rtl::OString(memblock);
- helper::searchAndReplaceAll(&rText, "\n", "\\n");
+ rText = rtl::OString(memblock).replaceAll("\n", "\\n");
delete[] memblock;
}
WorkOnText( rOpenTag, rText );
@@ -536,8 +532,8 @@ void XRMResExport::EndOfText(
{
sCur = aLanguages[ n ];
- rtl::OString sAct = pResData->sText[ sCur ];
- helper::searchAndReplaceAll(&sAct, "\x0A", rtl::OString());
+ rtl::OString sAct(
+ pResData->sText[sCur].replaceAll("\x0A", rtl::OString()));
rtl::OString sOutput( sPrj ); sOutput += "\t";
sOutput += sPath;
@@ -629,19 +625,20 @@ void XRMResMerge::WorkOnDesc(
sSearch += GetAttribute( rOpenTag, sLangAttribute );
sReplace += sCur;
- helper::searchAndReplace(
- &sAdditionalLine, sSearch, sReplace);
+ sAdditionalLine = sAdditionalLine.replaceFirst(
+ sSearch, sReplace);
sSearch = rtl::OString("xlink:href=\"");
sReplace = sSearch;
rtl::OString sLocDescFilename = sDescFilename;
- helper::searchAndReplace(&sLocDescFilename, "en-US", sCur);
+ sLocDescFilename = sLocDescFilename.replaceFirst(
+ "en-US", sCur);
sSearch += sDescFilename;
sReplace += sLocDescFilename;
- helper::searchAndReplace(
- &sAdditionalLine, sSearch, sReplace);
+ sAdditionalLine = sAdditionalLine.replaceFirst(
+ sSearch, sReplace);
Output( sAdditionalLine );
@@ -654,7 +651,7 @@ void XRMResMerge::WorkOnDesc(
}
rtl::OString sOutputDescFile(
sOutputFile.copy(0, i + 1) + sLocDescFilename);
- helper::searchAndReplaceAll(&sText, "\\n", "\n");
+ sText = sText.replaceAll("\\n", "\n");
ofstream file(sOutputDescFile.getStr());
if (file.is_open()) {
file << sText.getStr();
@@ -745,8 +742,8 @@ void XRMResMerge::EndOfText(
sSearch += GetAttribute( rOpenTag, sLangAttribute );
sReplace += sCur;
- helper::searchAndReplace(
- &sAdditionalLine, sSearch, sReplace);
+ sAdditionalLine = sAdditionalLine.replaceFirst(
+ sSearch, sReplace);
sAdditionalLine += sText;
sAdditionalLine += rCloseTag;