diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2023-04-02 15:01:31 +0200 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2023-04-02 16:24:12 +0200 |
commit | ebf2cc4e9dacdc7afdeb4fcc91482678fa3edc4a (patch) | |
tree | 83e9e8eaf34783d604688e3b2d00faf3f7c59b68 /sal | |
parent | ce86e5b4a8d54eb55fdde7756ad6fde6e6967d55 (diff) |
Simplify a bit
Change-Id: Iae784d3ae40cd237c768413c067a2067c608238d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149885
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'sal')
-rw-r--r-- | sal/rtl/strtmpl.hxx | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/sal/rtl/strtmpl.hxx b/sal/rtl/strtmpl.hxx index ef425a9b33ab..7ec3af82cf94 100644 --- a/sal/rtl/strtmpl.hxx +++ b/sal/rtl/strtmpl.hxx @@ -667,9 +667,9 @@ sal_Int32 valueOfInt ( IMPL_RTL_STRCODE* pStr, { assert(pStr); assert( nRadix >= RTL_STR_MIN_RADIX && nRadix <= RTL_STR_MAX_RADIX ); + const auto* const pStart = pStr; char aBuf[maxLen]; char* pBuf = aBuf; - sal_Int32 nLen = 0; using uT = std::make_unsigned_t<T>; uT nValue; @@ -684,7 +684,6 @@ sal_Int32 valueOfInt ( IMPL_RTL_STRCODE* pStr, { *pStr = '-'; pStr++; - nLen++; nValue = n == std::numeric_limits<T>::min() ? static_cast<uT>(n) : -n; } else @@ -707,17 +706,10 @@ sal_Int32 valueOfInt ( IMPL_RTL_STRCODE* pStr, while ( nValue > 0 ); /* copy the values in the right direction into the destination buffer */ - do - { - pBuf--; - *pStr = *pBuf; - pStr++; - nLen++; - } - while ( pBuf != aBuf ); + pStr = std::reverse_copy(aBuf, pBuf, pStr); *pStr = 0; - return nLen; + return pStr - pStart; } /* ----------------------------------------------------------------------- */ |