summaryrefslogtreecommitdiff
path: root/vcl/source/control/longcurr.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/control/longcurr.cxx')
-rw-r--r--vcl/source/control/longcurr.cxx74
1 files changed, 32 insertions, 42 deletions
diff --git a/vcl/source/control/longcurr.cxx b/vcl/source/control/longcurr.cxx
index fa9fe0f71c9a..e9a8330217a9 100644
--- a/vcl/source/control/longcurr.cxx
+++ b/vcl/source/control/longcurr.cxx
@@ -1,30 +1,21 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
+/*
+ * This file is part of the LibreOffice project.
*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
- * Copyright 2000, 2010 Oracle and/or its affiliates.
+ * This file incorporates work covered by the following license notice:
*
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
#include <comphelper/string.hxx>
#include <sot/object.hxx>
@@ -142,10 +133,9 @@ static sal_Bool ImplNumericGetValue( const XubString& rStr, BigInt& rValue,
{
XubString aStr = rStr;
XubString aStr1;
- XubString aStr2;
+ rtl::OUStringBuffer aStr2;
sal_uInt16 nDecPos;
sal_Bool bNegative = sal_False;
- xub_StrLen i;
// Reaktion auf leeren String
if ( !rStr.Len() )
@@ -160,7 +150,7 @@ static sal_Bool ImplNumericGetValue( const XubString& rStr, BigInt& rValue,
if ( nDecPos != STRING_NOTFOUND )
{
aStr1 = aStr.Copy( 0, nDecPos );
- aStr2 = aStr.Copy( nDecPos+1 );
+ aStr2.append(aStr.Copy(nDecPos+1));
}
else
aStr1 = aStr;
@@ -172,7 +162,7 @@ static sal_Bool ImplNumericGetValue( const XubString& rStr, BigInt& rValue,
bNegative = sal_True;
if ( !bNegative )
{
- for ( i=0; i < aStr.Len(); i++ )
+ for (xub_StrLen i=0; i < aStr.Len(); i++ )
{
if ( (aStr.GetChar( i ) >= '0') && (aStr.GetChar( i ) <= '9') )
break;
@@ -189,7 +179,7 @@ static sal_Bool ImplNumericGetValue( const XubString& rStr, BigInt& rValue,
if ( (nFormat == 3) || (nFormat == 6) ||
(nFormat == 7) || (nFormat == 10) )
{
- for ( i = (sal_uInt16)(aStr.Len()-1); i > 0; i++ )
+ for (xub_StrLen i = (sal_uInt16)(aStr.Len()-1); i > 0; i++ )
{
if ( (aStr.GetChar( i ) >= '0') && (aStr.GetChar( i ) <= '9') )
break;
@@ -209,22 +199,22 @@ static sal_Bool ImplNumericGetValue( const XubString& rStr, BigInt& rValue,
}
// Alle unerwuenschten Zeichen rauswerfen
- for ( i=0; i < aStr1.Len(); )
+ for (xub_StrLen i=0; i < aStr1.Len(); )
{
if ( (aStr1.GetChar( i ) >= '0') && (aStr1.GetChar( i ) <= '9') )
i++;
else
aStr1.Erase( i, 1 );
}
- for ( i=0; i < aStr2.Len(); )
+ for (sal_Int32 i=0; i < aStr2.getLength();)
{
- if ( (aStr2.GetChar( i ) >= '0') && (aStr2.GetChar( i ) <= '9') )
- i++;
+ if ((aStr2[i] >= '0') && (aStr2[i] <= '9'))
+ ++i;
else
- aStr2.Erase( i, 1 );
+ aStr2.remove(i, 1);
}
- if ( !aStr1.Len() && !aStr2.Len() )
+ if (!aStr1.Len() && !aStr2.getLength())
return sal_False;
if ( !aStr1.Len() )
@@ -233,18 +223,18 @@ static sal_Bool ImplNumericGetValue( const XubString& rStr, BigInt& rValue,
aStr1.Insert( '-', 0 );
// Nachkommateil zurechtstutzen und dabei runden
- sal_Bool bRound = sal_False;
- if ( aStr2.Len() > nDecDigits )
+ bool bRound = false;
+ if (aStr2.getLength() > nDecDigits)
{
- if ( aStr2.GetChar( nDecDigits ) >= '5' )
- bRound = sal_True;
- aStr2.Erase( nDecDigits );
+ if (aStr2[nDecDigits] >= '5')
+ bRound = true;
+ string::truncateToLength(aStr2, nDecDigits);
}
- if ( aStr2.Len() < nDecDigits )
- aStr2.Expand( nDecDigits, '0' );
+ if (aStr2.getLength() < nDecDigits)
+ string::padToLength(aStr2, nDecDigits, '0');
aStr = aStr1;
- aStr += aStr2;
+ aStr += aStr2.makeStringAndClear();
// Bereichsueberpruefung
BigInt nValue( aStr );