From d1d1079c087329d647dee89627e8d830e2b496f0 Mon Sep 17 00:00:00 2001 From: Thomas Arnhold Date: Fri, 10 Aug 2012 04:10:03 +0200 Subject: callcatcher: strip string methods down Change-Id: Ibbe214d69068cbfaf8ae667ba96fa677e7a9242a --- binfilter/bf_svtools/source/misc/tl_strascii.cxx | 77 ------- binfilter/bf_svtools/source/misc/tl_tustring.cxx | 261 ----------------------- binfilter/inc/bf_tools/string.hxx | 22 -- 3 files changed, 360 deletions(-) diff --git a/binfilter/bf_svtools/source/misc/tl_strascii.cxx b/binfilter/bf_svtools/source/misc/tl_strascii.cxx index 853749ad9..4baf7ef7d 100644 --- a/binfilter/bf_svtools/source/misc/tl_strascii.cxx +++ b/binfilter/bf_svtools/source/misc/tl_strascii.cxx @@ -394,65 +394,6 @@ UniString& UniString::InsertAscii( const char* pAsciiStr, xub_StrLen nIndex ) // ----------------------------------------------------------------------- -UniString& UniString::ReplaceAscii( xub_StrLen nIndex, xub_StrLen nCount, - const sal_Char* pAsciiStr, xub_StrLen nStrLen ) -{ - DBG_CHKTHIS( UniString, DbgCheckUniString ); - DBG_ASSERT( pAsciiStr, "UniString::ReplaceAscii() - pAsciiStr is NULL" ); - - // Wenn Index groessergleich Laenge ist, dann ist es ein Append - if ( nIndex >= mpData->mnLen ) - { - AppendAscii( pAsciiStr, nStrLen ); - return *this; - } - - // Ist es eine Zuweisung - if ( (nIndex == 0) && (nCount >= mpData->mnLen) ) - { - AssignAscii( pAsciiStr, nStrLen ); - return *this; - } - - // Reicht ein Erase - if ( nStrLen == STRING_LEN ) - nStrLen = ImplStringLen( pAsciiStr ); - if ( !nStrLen ) - return Erase( nIndex, nCount ); - - // nCount darf nicht ueber das Stringende hinnausgehen - if ( nCount > mpData->mnLen - nIndex ) - nCount = static_cast< xub_StrLen >(mpData->mnLen-nIndex); - - // Reicht eine zeichenweise Zuweisung - if ( nCount == nStrLen ) - { - ImplCopyData(); - ImplCopyAsciiStr( mpData->maStr+nIndex, pAsciiStr, nStrLen ); - return *this; - } - - // Ueberlauf abfangen - sal_Int32 n = ImplGetCopyLen( mpData->mnLen-nCount, nStrLen ); - - // Neue Daten anlegen - STRINGDATA* pNewData = ImplAllocData( mpData->mnLen-nCount+n ); - - // String kopieren - memcpy( pNewData->maStr, mpData->maStr, nIndex*sizeof( STRCODE ) ); - ImplCopyAsciiStr( pNewData->maStr+nIndex, pAsciiStr, n ); - memcpy( pNewData->maStr+nIndex+n, mpData->maStr+nIndex+nCount, - (mpData->mnLen-nIndex-nCount+1)*sizeof( STRCODE ) ); - - // Alte Daten loeschen und Neue zuweisen - STRING_RELEASE((STRING_TYPE *)mpData); - mpData = pNewData; - - return *this; -} - -// ----------------------------------------------------------------------- - StringCompare UniString::CompareToAscii( const sal_Char* pAsciiStr, xub_StrLen nLen ) const { @@ -609,24 +550,6 @@ xub_StrLen UniString::SearchAndReplaceAscii( const sal_Char* pAsciiStr, const Un return nSPos; } -// ----------------------------------------------------------------------- - -void UniString::SearchAndReplaceAllAscii( const sal_Char* pAsciiStr, const UniString& rRepStr ) -{ - DBG_CHKTHIS( UniString, DbgCheckUniString ); - DBG_ASSERT( ImplDbgCheckAsciiStr( pAsciiStr, STRING_LEN ), - "UniString::SearchAndReplaceAllAscii() - pAsciiStr include characters > 127" ); - - xub_StrLen nCharLen = ImplStringLen( pAsciiStr ); - xub_StrLen nSPos = SearchAscii( pAsciiStr, 0 ); - while ( nSPos != STRING_NOTFOUND ) - { - Replace( nSPos, nCharLen, rRepStr ); - nSPos = nSPos + rRepStr.Len(); - nSPos = SearchAscii( pAsciiStr, nSPos ); - } -} - } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/binfilter/bf_svtools/source/misc/tl_tustring.cxx b/binfilter/bf_svtools/source/misc/tl_tustring.cxx index 65c7b3e31..58ea36966 100644 --- a/binfilter/bf_svtools/source/misc/tl_tustring.cxx +++ b/binfilter/bf_svtools/source/misc/tl_tustring.cxx @@ -125,32 +125,6 @@ double UniString::ToDouble() const // ----------------------------------------------------------------------- -xub_StrLen STRING::SearchChar( const STRCODE* pChars, xub_StrLen nIndex ) const -{ - DBG_CHKTHIS( STRING, DBGCHECKSTRING ); - - sal_Int32 nLen = mpData->mnLen; - const STRCODE* pStr = mpData->maStr; - pStr += nIndex; - while ( nIndex < nLen ) - { - STRCODE c = *pStr; - const STRCODE* pCompStr = pChars; - while ( *pCompStr ) - { - if ( *pCompStr == c ) - return nIndex; - ++pCompStr; - } - ++pStr, - ++nIndex; - } - - return STRING_NOTFOUND; -} - -// ----------------------------------------------------------------------- - xub_StrLen STRING::SearchAndReplace( STRCODE c, STRCODE cRep, xub_StrLen nIndex ) { DBG_CHKTHIS( STRING, DBGCHECKSTRING ); @@ -175,30 +149,6 @@ xub_StrLen STRING::SearchAndReplace( STRCODE c, STRCODE cRep, xub_StrLen nIndex // ----------------------------------------------------------------------- -STRING& STRING::Reverse() -{ - DBG_CHKTHIS( STRING, DBGCHECKSTRING ); - - if ( !mpData->mnLen ) - return *this; - - // Daten kopieren, wenn noetig - ImplCopyData(); - - // Reverse - sal_Int32 nCount = mpData->mnLen / 2; - for ( sal_Int32 i = 0; i < nCount; ++i ) - { - STRCODE cTemp = mpData->maStr[i]; - mpData->maStr[i] = mpData->maStr[mpData->mnLen-i-1]; - mpData->maStr[mpData->mnLen-i-1] = cTemp; - } - - return *this; -} - -// ----------------------------------------------------------------------- - STRING& STRING::Insert( const STRING& rStr, xub_StrLen nPos, xub_StrLen nLen, xub_StrLen nIndex ) { @@ -245,141 +195,6 @@ STRING& STRING::Insert( const STRING& rStr, xub_StrLen nPos, xub_StrLen nLen, // ----------------------------------------------------------------------- -xub_StrLen STRING::GetQuotedTokenCount( const STRING& rQuotedPairs, STRCODE cTok ) const -{ - DBG_CHKTHIS( STRING, DBGCHECKSTRING ); - DBG_CHKOBJ( &rQuotedPairs, STRING, DBGCHECKSTRING ); - DBG_ASSERT( !(rQuotedPairs.Len()%2), "String::GetQuotedTokenCount() - QuotedString%2 != 0" ); - DBG_ASSERT( rQuotedPairs.Search(cTok) == STRING_NOTFOUND, "String::GetQuotedTokenCount() - cTok in QuotedString" ); - - // Leerer String: TokenCount per Definition 0 - if ( !mpData->mnLen ) - return 0; - - xub_StrLen nTokCount = 1; - sal_Int32 nLen = mpData->mnLen; - xub_StrLen nQuotedLen = rQuotedPairs.Len(); - STRCODE cQuotedEndChar = 0; - const STRCODE* pQuotedStr = rQuotedPairs.mpData->maStr; - const STRCODE* pStr = mpData->maStr; - sal_Int32 nIndex = 0; - while ( nIndex < nLen ) - { - STRCODE c = *pStr; - if ( cQuotedEndChar ) - { - // Ende des Quotes erreicht ? - if ( c == cQuotedEndChar ) - cQuotedEndChar = 0; - } - else - { - // Ist das Zeichen ein Quote-Anfang-Zeichen ? - xub_StrLen nQuoteIndex = 0; - while ( nQuoteIndex < nQuotedLen ) - { - if ( pQuotedStr[nQuoteIndex] == c ) - { - cQuotedEndChar = pQuotedStr[nQuoteIndex+1]; - break; - } - else - nQuoteIndex += 2; - } - - // Stimmt das Tokenzeichen ueberein, dann erhoehe TokCount - if ( c == cTok ) - ++nTokCount; - } - - ++pStr, - ++nIndex; - } - - return nTokCount; -} - -// ----------------------------------------------------------------------- - -STRING STRING::GetQuotedToken( xub_StrLen nToken, const STRING& rQuotedPairs, - STRCODE cTok, xub_StrLen& rIndex ) const -{ - DBG_CHKTHIS( STRING, DBGCHECKSTRING ); - DBG_CHKOBJ( &rQuotedPairs, STRING, DBGCHECKSTRING ); - DBG_ASSERT( !(rQuotedPairs.Len()%2), "String::GetQuotedToken() - QuotedString%2 != 0" ); - DBG_ASSERT( rQuotedPairs.Search(cTok) == STRING_NOTFOUND, "String::GetQuotedToken() - cTok in QuotedString" ); - - const STRCODE* pStr = mpData->maStr; - const STRCODE* pQuotedStr = rQuotedPairs.mpData->maStr; - STRCODE cQuotedEndChar = 0; - xub_StrLen nQuotedLen = rQuotedPairs.Len(); - xub_StrLen nLen = (xub_StrLen)mpData->mnLen; - xub_StrLen nTok = 0; - xub_StrLen nFirstChar = rIndex; - xub_StrLen i = nFirstChar; - - // Bestimme die Token-Position und Laenge - pStr += i; - while ( i < nLen ) - { - STRCODE c = *pStr; - if ( cQuotedEndChar ) - { - // Ende des Quotes erreicht ? - if ( c == cQuotedEndChar ) - cQuotedEndChar = 0; - } - else - { - // Ist das Zeichen ein Quote-Anfang-Zeichen ? - xub_StrLen nQuoteIndex = 0; - while ( nQuoteIndex < nQuotedLen ) - { - if ( pQuotedStr[nQuoteIndex] == c ) - { - cQuotedEndChar = pQuotedStr[nQuoteIndex+1]; - break; - } - else - nQuoteIndex += 2; - } - - // Stimmt das Tokenzeichen ueberein, dann erhoehe TokCount - if ( c == cTok ) - { - ++nTok; - - if ( nTok == nToken ) - nFirstChar = i+1; - else - { - if ( nTok > nToken ) - break; - } - } - } - - ++pStr, - ++i; - } - - if ( nTok >= nToken ) - { - if ( i < nLen ) - rIndex = i+1; - else - rIndex = STRING_NOTFOUND; - return Copy( nFirstChar, i-nFirstChar ); - } - else - { - rIndex = STRING_NOTFOUND; - return STRING(); - } -} - -// ----------------------------------------------------------------------- - static sal_Int32 ImplStringICompareWithoutZero( const STRCODE* pStr1, const STRCODE* pStr2, sal_Int32 nCount ) { @@ -411,28 +226,6 @@ static sal_Int32 ImplStringICompareWithoutZero( const STRCODE* pStr1, const STRC // ----------------------------------------------------------------------- -sal_Bool STRING::EqualsIgnoreCaseAscii( const STRING& rStr, xub_StrLen nIndex, xub_StrLen nLen ) const -{ - DBG_CHKTHIS( STRING, DBGCHECKSTRING ); - DBG_CHKOBJ( &rStr, STRING, DBGCHECKSTRING ); - - // Are there enough codes for comparing? - if ( nIndex > mpData->mnLen ) - return (rStr.mpData->mnLen == 0); - sal_Int32 nMaxLen = mpData->mnLen-nIndex; - if ( nMaxLen < nLen ) - { - if ( rStr.mpData->mnLen != nMaxLen ) - return sal_False; - nLen = static_cast< xub_StrLen >(nMaxLen); - } - - // String vergleichen - return (ImplStringICompareWithoutZero( mpData->maStr+nIndex, rStr.mpData->maStr, nLen ) == 0); -} - -// ----------------------------------------------------------------------- - StringCompare STRING::CompareIgnoreCaseToAscii( const STRING& rStr, xub_StrLen nLen ) const { @@ -990,43 +783,6 @@ sal_Bool STRING::EqualsIgnoreCaseAscii( const STRING& rStr ) const // ----------------------------------------------------------------------- -static sal_Int32 ImplStringICompare( const STRCODE* pStr1, const STRCODE* pStr2 ) -{ - sal_Int32 nRet; - STRCODE c1; - STRCODE c2; - do - { - // Ist das Zeichen zwischen 'A' und 'Z' dann umwandeln - c1 = *pStr1; - c2 = *pStr2; - if ( (c1 >= 65) && (c1 <= 90) ) - c1 += 32; - if ( (c2 >= 65) && (c2 <= 90) ) - c2 += 32; - nRet = ((sal_Int32)((STRCODEU)c1))-((sal_Int32)((STRCODEU)c2)); - if ( nRet != 0 ) - break; - - ++pStr1, - ++pStr2; - } - while ( c2 ); - - return nRet; -} - -// ----------------------------------------------------------------------- - -sal_Bool STRING::EqualsIgnoreCaseAscii( const STRCODE* pCharStr ) const -{ - DBG_CHKTHIS( STRING, DBGCHECKSTRING ); - - return (ImplStringICompare( mpData->maStr, pCharStr ) == 0); -} - -// ----------------------------------------------------------------------- - sal_Bool STRING::Equals( const STRING& rStr, xub_StrLen nIndex, xub_StrLen nLen ) const { DBG_CHKTHIS( STRING, DBGCHECKSTRING ); @@ -1099,23 +855,6 @@ void STRING::SearchAndReplaceAll( STRCODE c, STRCODE cRep ) // ----------------------------------------------------------------------- -void STRING::SearchAndReplaceAll( const STRING& rStr, const STRING& rRepStr ) -{ - DBG_CHKTHIS( STRING, DBGCHECKSTRING ); - DBG_CHKOBJ( &rStr, STRING, DBGCHECKSTRING ); - DBG_CHKOBJ( &rRepStr, STRING, DBGCHECKSTRING ); - - xub_StrLen nSPos = Search( rStr, 0 ); - while ( nSPos != STRING_NOTFOUND ) - { - Replace( nSPos, rStr.Len(), rRepStr ); - nSPos = nSPos + rRepStr.Len(); - nSPos = Search( rStr, nSPos ); - } -} - -// ----------------------------------------------------------------------- - xub_StrLen STRING::SearchAndReplace( const STRING& rStr, const STRING& rRepStr, xub_StrLen nIndex ) { diff --git a/binfilter/inc/bf_tools/string.hxx b/binfilter/inc/bf_tools/string.hxx index 29579918c..f77fb76d3 100644 --- a/binfilter/inc/bf_tools/string.hxx +++ b/binfilter/inc/bf_tools/string.hxx @@ -380,8 +380,6 @@ public: UniString& Insert( sal_Unicode c, xub_StrLen nIndex = STRING_LEN ); UniString& InsertAscii( const sal_Char* pAsciiStr, xub_StrLen nIndex = STRING_LEN ); UniString& Replace( xub_StrLen nIndex, xub_StrLen nLen, const UniString& rStr ); - UniString& ReplaceAscii( xub_StrLen nIndex, xub_StrLen nLen, - const sal_Char* pAsciiStr, xub_StrLen nStrLen = STRING_LEN ); UniString& Erase( xub_StrLen nIndex = 0, xub_StrLen nCount = STRING_LEN ); UniString Copy( xub_StrLen nIndex = 0, xub_StrLen nCount = STRING_LEN ) const; @@ -390,7 +388,6 @@ public: UniString& EraseLeadingChars( sal_Unicode c = ' ' ); UniString& EraseTrailingChars( sal_Unicode c = ' ' ); - UniString& Reverse(); UniString& ConvertLineEnd( LineEnd eLineEnd ); UniString& ConvertLineEnd() @@ -410,7 +407,6 @@ public: sal_Bool Equals( const UniString& rStr ) const; sal_Bool EqualsAscii( const sal_Char* pAsciiStr ) const; sal_Bool EqualsIgnoreCaseAscii( const UniString& rStr ) const; - sal_Bool EqualsIgnoreCaseAscii( const sal_Unicode* pCharStr ) const; sal_Bool EqualsIgnoreCaseAscii( const sal_Char* pAsciiStr ) const; sal_Bool Equals( const UniString& rStr, xub_StrLen nIndex, xub_StrLen nLen ) const; @@ -422,8 +418,6 @@ public: } sal_Bool EqualsAscii( const sal_Char* pAsciiStr, xub_StrLen nIndex, xub_StrLen nLen ) const; - sal_Bool EqualsIgnoreCaseAscii( const UniString& rStr, - xub_StrLen nIndex, xub_StrLen nLen ) const; sal_Bool EqualsIgnoreCaseAscii( const sal_Char* pAsciiStr, xub_StrLen nIndex, xub_StrLen nLen ) const; @@ -434,7 +428,6 @@ public: xub_StrLen Search( const sal_Unicode* pCharStr, xub_StrLen nIndex = 0 ) const; xub_StrLen SearchAscii( const sal_Char* pAsciiStr, xub_StrLen nIndex = 0 ) const; xub_StrLen SearchBackward( sal_Unicode c, xub_StrLen nIndex = STRING_LEN ) const; - xub_StrLen SearchChar( const sal_Unicode* pChars, xub_StrLen nIndex = 0 ) const; xub_StrLen SearchAndReplace( sal_Unicode c, sal_Unicode cRep, xub_StrLen nIndex = 0 ); @@ -443,8 +436,6 @@ public: xub_StrLen SearchAndReplaceAscii( const sal_Char* pAsciiStr, const UniString& rRepStr, xub_StrLen nIndex = 0 ); void SearchAndReplaceAll( sal_Unicode c, sal_Unicode cRep ); - void SearchAndReplaceAll( const UniString& rStr, const UniString& rRepStr ); - void SearchAndReplaceAllAscii( const sal_Char* pAsciiStr, const UniString& rRepStr ); xub_StrLen GetTokenCount( sal_Unicode cTok = ';' ) const; void SetToken( xub_StrLen nToken, sal_Unicode cTok, const UniString& rStr, @@ -452,12 +443,6 @@ public: UniString GetToken( xub_StrLen nToken, sal_Unicode cTok, xub_StrLen& rIndex ) const; UniString GetToken( xub_StrLen nToken, sal_Unicode cTok = ';' ) const; - xub_StrLen GetQuotedTokenCount( const UniString& rQuotedPairs, sal_Unicode cTok = ';' ) const; - UniString GetQuotedToken( xub_StrLen nToken, const UniString& rQuotedPairs, - sal_Unicode cTok, xub_StrLen& rIndex ) const; - UniString GetQuotedToken( xub_StrLen nToken, const UniString& rQuotedPairs, - sal_Unicode cTok = ';' ) const; - const sal_Unicode* GetBuffer() const { return mpData->maStr; } sal_Unicode* GetBufferAccess(); void ReleaseBufferAccess( xub_StrLen nLen = STRING_LEN ); @@ -496,13 +481,6 @@ inline UniString UniString::GetToken( xub_StrLen nToken, sal_Unicode cTok ) cons return GetToken( nToken, cTok, nTempPos ); } -inline UniString UniString::GetQuotedToken( xub_StrLen nToken, const UniString& rQuotedPairs, - sal_Unicode cTok ) const -{ - xub_StrLen nTempPos = 0; - return GetQuotedToken( nToken, rQuotedPairs, cTok, nTempPos ); -} - } #endif // _BF_STRING_HXX -- cgit