[Libreoffice-commits] core.git: include/rtl sal/rtl sal/util sax/source
Stephan Bergmann (via logerrit)
logerrit at kemper.freedesktop.org
Wed Jul 21 11:20:53 UTC 2021
include/rtl/string.h | 25 -------------------------
sal/rtl/string.cxx | 6 ------
sal/util/sal.map | 1 -
sax/source/tools/fastattribs.cxx | 12 ++++++++++--
4 files changed, 10 insertions(+), 34 deletions(-)
New commits:
commit 9230c189ebc5bcfd6303bfa7eebcd35488037d00
Author: Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Wed Jul 21 09:11:40 2021 +0200
Commit: Stephan Bergmann <sbergman at redhat.com>
CommitDate: Wed Jul 21 13:20:18 2021 +0200
Use existing rtl_str_toInt64_WithLength
...like it is also already done in LineParser::readInt32 in
sdext/source/pdfimport/wrapper/wrapper.cxx (esp. since the code should be
changed to use C++17 std::from_chars once that is available in all our
baselines), reverting again the introduction of rtl_str_toInt32_WithLength in
b1df9c67349cf4cc5be4128d797aefb87f50e38f "[API CHANGE] reduce cost of numeric
conversion"
Change-Id: I2789f8ec55c8d89150d1c68e6b353a1d2e1d1703
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119301
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
Tested-by: Jenkins
diff --git a/include/rtl/string.h b/include/rtl/string.h
index 62fc7ecfb2d0..155c1d46126c 100644
--- a/include/rtl/string.h
+++ b/include/rtl/string.h
@@ -747,31 +747,6 @@ SAL_DLLPUBLIC sal_Bool SAL_CALL rtl_str_toBoolean(
SAL_DLLPUBLIC sal_Int32 SAL_CALL rtl_str_toInt32(
const char * str, sal_Int16 radix ) SAL_THROW_EXTERN_C();
-/** Interpret a string as a integer.
-
- This function cannot be used for language-specific conversion. The string
- must be null-terminated.
-
- @param str
- a null-terminated string.
-
- @param radix
- the radix. Must be between RTL_STR_MIN_RADIX (2) and RTL_STR_MAX_RADIX
- (36), inclusive.
-
- @param nStrLength
- number of chars to process
-
- @return
- the integer value represented by the string, or 0 if the string does
- not represent a integer.
-
- @internal
- @since LibreOffice 7.3
-*/
-SAL_DLLPUBLIC sal_Int32 SAL_CALL rtl_str_toInt32_WithLength(
- const char * str, sal_Int16 radix, sal_Int32 nStrLength ) SAL_THROW_EXTERN_C();
-
/** Interpret a string as an unsigned integer.
This function cannot be used for language-specific conversion. The string
diff --git a/sal/rtl/string.cxx b/sal/rtl/string.cxx
index 6fc2df75698d..660f22552b0c 100644
--- a/sal/rtl/string.cxx
+++ b/sal/rtl/string.cxx
@@ -567,12 +567,6 @@ sal_Int32 SAL_CALL rtl_str_toInt32(const char* pStr, sal_Int16 nRadix) SAL_THROW
return rtl::str::toInt32(pStr, nRadix);
}
-sal_Int32 SAL_CALL rtl_str_toInt32_WithLength(const char* pStr, sal_Int16 nRadix,
- sal_Int32 nStrLength) SAL_THROW_EXTERN_C()
-{
- return rtl::str::toInt32_WithLength(pStr, nRadix, nStrLength);
-}
-
sal_Int64 SAL_CALL rtl_str_toInt64(const char* pStr, sal_Int16 nRadix) SAL_THROW_EXTERN_C()
{
return rtl::str::toInt64(pStr, nRadix);
diff --git a/sal/util/sal.map b/sal/util/sal.map
index e2339bdc13ac..e33dde55b8da 100644
--- a/sal/util/sal.map
+++ b/sal/util/sal.map
@@ -757,7 +757,6 @@ PRIVATE_1.7 { # LibreOffice 7.1
PRIVATE_1.8 { # LibreOffice 7.3
global:
- rtl_str_toInt32_WithLength;
rtl_str_toDouble_WithLength;
} PRIVATE_1.7;
diff --git a/sax/source/tools/fastattribs.cxx b/sax/source/tools/fastattribs.cxx
index 9cec32318108..2512f6296aee 100644
--- a/sax/source/tools/fastattribs.cxx
+++ b/sax/source/tools/fastattribs.cxx
@@ -196,7 +196,11 @@ bool FastAttributeList::getAsInteger( sal_Int32 nToken, sal_Int32 &rInt) const
for (size_t i = 0; i < maAttributeTokens.size(); ++i)
if (maAttributeTokens[i] == nToken)
{
- rInt = rtl_str_toInt32_WithLength( getFastAttributeValue(i), 10, AttributeValueLength(i) );
+ sal_Int64 n = rtl_str_toInt64_WithLength( getFastAttributeValue(i), 10, AttributeValueLength(i) );
+ if (n < SAL_MIN_INT32 || n > SAL_MAX_INT32) {
+ n = 0;
+ }
+ rInt = n;
return true;
}
return false;
@@ -204,7 +208,11 @@ bool FastAttributeList::getAsInteger( sal_Int32 nToken, sal_Int32 &rInt) const
sal_Int32 FastAttributeList::getAsIntegerByIndex( sal_Int32 nTokenIndex ) const
{
- return rtl_str_toInt32_WithLength( getFastAttributeValue(nTokenIndex), 10, AttributeValueLength(nTokenIndex) );
+ sal_Int64 n = rtl_str_toInt64_WithLength( getFastAttributeValue(nTokenIndex), 10, AttributeValueLength(nTokenIndex) );
+ if (n < SAL_MIN_INT32 || n > SAL_MAX_INT32) {
+ n = 0;
+ }
+ return n;
}
bool FastAttributeList::getAsDouble( sal_Int32 nToken, double &rDouble) const
More information about the Libreoffice-commits
mailing list