diff options
Diffstat (limited to 'tools/source/string/strimp.cxx')
-rw-r--r-- | tools/source/string/strimp.cxx | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/tools/source/string/strimp.cxx b/tools/source/string/strimp.cxx index 41966383d3dc..32913e0d2331 100644 --- a/tools/source/string/strimp.cxx +++ b/tools/source/string/strimp.cxx @@ -808,101 +808,6 @@ STRING& STRING::ToUpperAscii() // ----------------------------------------------------------------------- -STRING& STRING::ConvertLineEnd( LineEnd eLineEnd ) -{ - DBG_CHKTHIS( STRING, DBGCHECKSTRING ); - - // Zeilenumbrueche ermitteln und neue Laenge berechnen - sal_Bool bConvert = sal_False; // Muss konvertiert werden - const STRCODE* pStr = mpData->maStr; // damit es schneller geht - xub_StrLen nLineEndLen = (eLineEnd == LINEEND_CRLF) ? 2 : 1; - xub_StrLen nLen = 0; // Ziel-Laenge - xub_StrLen i = 0; // Source-Zaehler - - while ( i < mpData->mnLen ) - { - // Bei \r oder \n gibt es neuen Zeilenumbruch - if ( (pStr[i] == _CR) || (pStr[i] == _LF) ) - { - nLen = nLen + nLineEndLen; - - // Wenn schon gesetzt, dann brauchen wir keine aufwendige Abfrage - if ( !bConvert ) - { - // Muessen wir Konvertieren - if ( ((eLineEnd != LINEEND_LF) && (pStr[i] == _LF)) || - ((eLineEnd == LINEEND_CRLF) && (pStr[i+1] != _LF)) || - ((eLineEnd == LINEEND_LF) && - ((pStr[i] == _CR) || (pStr[i+1] == _CR))) || - ((eLineEnd == LINEEND_CR) && - ((pStr[i] == _LF) || (pStr[i+1] == _LF))) ) - bConvert = sal_True; - } - - // \r\n oder \n\r, dann Zeichen ueberspringen - if ( ((pStr[i+1] == _CR) || (pStr[i+1] == _LF)) && - (pStr[i] != pStr[i+1]) ) - ++i; - } - else - ++nLen; - ++i; - - // Wenn String zu lang, dann konvertieren wir nicht - if ( nLen >= STRING_MAXLEN ) - return *this; - } - - // Zeilenumbrueche konvertieren - if ( bConvert ) - { - // Neuen String anlegen - STRINGDATA* pNewData = ImplAllocData( nLen ); - xub_StrLen j = 0; - i = 0; - while ( i < mpData->mnLen ) - { - // Bei \r oder \n gibt es neuen Zeilenumbruch - if ( (pStr[i] == _CR) || (pStr[i] == _LF) ) - { - if ( eLineEnd == LINEEND_CRLF ) - { - pNewData->maStr[j] = _CR; - pNewData->maStr[j+1] = _LF; - j += 2; - } - else - { - if ( eLineEnd == LINEEND_CR ) - pNewData->maStr[j] = _CR; - else - pNewData->maStr[j] = _LF; - ++j; - } - - if ( ((pStr[i+1] == _CR) || (pStr[i+1] == _LF)) && - (pStr[i] != pStr[i+1]) ) - ++i; - } - else - { - pNewData->maStr[j] = mpData->maStr[i]; - ++j; - } - - ++i; - } - - // Alte Daten loeschen und Neue zuweisen - STRING_RELEASE((STRING_TYPE *)mpData); - mpData = pNewData; - } - - return *this; -} - -// ----------------------------------------------------------------------- - StringCompare STRING::CompareTo( const STRING& rStr, xub_StrLen nLen ) const { DBG_CHKTHIS( STRING, DBGCHECKSTRING ); |