sal/rtl/strtmpl.cxx | 29 ++++------------------------- 1 file changed, 4 insertions(+), 25 deletions(-)
New commits: commit 0955eb65b6302a072fd9b55b9cd09b62ab5dcd43 Author: Noel Grandin <[email protected]> AuthorDate: Sun Jul 29 13:15:36 2018 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Sun Jul 29 19:11:13 2018 +0200 Use memmove in trim_WithLength Change-Id: If75ac1968b8b0b3314ae36c2a7f163cb5428e9c6 Reviewed-on: https://gerrit.libreoffice.org/58277 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/sal/rtl/strtmpl.cxx b/sal/rtl/strtmpl.cxx index 421a615b7574..af3a28cbfec2 100644 --- a/sal/rtl/strtmpl.cxx +++ b/sal/rtl/strtmpl.cxx @@ -744,18 +744,9 @@ sal_Int32 SAL_CALL IMPL_RTL_STRNAME( trim_WithLength )( IMPL_RTL_STRCODE* pStr, if ( nPreSpaces ) { - IMPL_RTL_STRCODE* pNewStr = pStr+nPreSpaces; - nLen -= nPreSpaces; - nIndex = nLen; - - while ( nIndex ) - { - *pStr = *pNewStr; - pStr++; - pNewStr++; - nIndex--; - } + memmove(pStr, pStr + nPreSpaces, nLen * sizeof(IMPL_RTL_STRCODE)); + pStr += nLen; *pStr = 0; } commit 034203742d43045df1a6a733a81fb929ee840aac Author: Noel Grandin <[email protected]> AuthorDate: Sun Jul 29 13:08:26 2018 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Sun Jul 29 19:11:01 2018 +0200 optimise newFromStr functions use the other functions in this module so we get the compiler builtins if available Change-Id: Idbd9df44e057e573dd3fb243c50c5186e8edd8d8 Reviewed-on: https://gerrit.libreoffice.org/58276 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/sal/rtl/strtmpl.cxx b/sal/rtl/strtmpl.cxx index b477e50216c0..421a615b7574 100644 --- a/sal/rtl/strtmpl.cxx +++ b/sal/rtl/strtmpl.cxx @@ -1313,16 +1313,12 @@ void SAL_CALL IMPL_RTL_STRINGNAME( newFromStr )( IMPL_RTL_STRINGDATA** ppThis, SAL_THROW_EXTERN_C() { assert(ppThis); - IMPL_RTL_STRCODE* pBuffer; IMPL_RTL_STRINGDATA* pOrg; sal_Int32 nLen; if ( pCharStr ) { - const IMPL_RTL_STRCODE* pTempStr = pCharStr; - while( *pTempStr ) - pTempStr++; - nLen = pTempStr-pCharStr; + nLen = IMPL_RTL_STRNAME( getLength )( pCharStr ); } else nLen = 0; @@ -1336,15 +1332,7 @@ void SAL_CALL IMPL_RTL_STRINGNAME( newFromStr )( IMPL_RTL_STRINGDATA** ppThis, pOrg = *ppThis; *ppThis = IMPL_RTL_STRINGNAME( ImplAlloc )( nLen ); OSL_ASSERT(*ppThis != nullptr); - pBuffer = (*ppThis)->buffer; - do - { - *pBuffer = *pCharStr; - pBuffer++; - pCharStr++; - } - while ( *pCharStr ); - + rtl_str_ImplCopy( (*ppThis)->buffer, pCharStr, nLen ); RTL_LOG_STRING_NEW( *ppThis ); /* must be done last, if pCharStr == *ppThis */ _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
