sal/osl/unx/socket.cxx | 39 ++++++++++----------------------------- 1 file changed, 10 insertions(+), 29 deletions(-)
New commits: commit a89f127d146c6e39113ccba9e7e114bd88145cca Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Wed Jan 16 16:43:26 2019 +0100 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Wed Jan 16 22:11:48 2019 +0100 Avoid unnecessary string copying in osl_getDottedInetAddrOfSocketAddr Change-Id: I57aea80f0489c4176990d7233a4c218e5199a993 Reviewed-on: https://gerrit.libreoffice.org/66467 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/sal/osl/unx/socket.cxx b/sal/osl/unx/socket.cxx index 454ff463d70f..a77b3f364bf0 100644 --- a/sal/osl/unx/socket.cxx +++ b/sal/osl/unx/socket.cxx @@ -278,9 +278,6 @@ static oslSocketAddr osl_psz_resolveHostname ( static sal_Int32 osl_psz_getServicePort ( const sal_Char* pszServicename, const sal_Char* pszProtocol); -static oslSocketResult osl_psz_getDottedInetAddrOfSocketAddr ( - oslSocketAddr Addr, sal_Char *pBuffer, sal_uInt32 BufferSize); - static void osl_psz_getLastSocketErrorDescription ( oslSocket Socket, sal_Char* pBuffer, sal_uInt32 BufferSize); @@ -1110,38 +1107,22 @@ oslSocketResult SAL_CALL osl_getHostnameOfSocketAddr(oslSocketAddr Addr, rtl_uSt oslSocketResult SAL_CALL osl_getDottedInetAddrOfSocketAddr(oslSocketAddr Addr, rtl_uString **ustrDottedInetAddr) { - oslSocketResult Result; - sal_Char pszDottedInetAddr[1024]; - - pszDottedInetAddr[0] = '\0'; - - Result = osl_psz_getDottedInetAddrOfSocketAddr(Addr,pszDottedInetAddr,sizeof(pszDottedInetAddr)); - - rtl_uString_newFromAscii(ustrDottedInetAddr,pszDottedInetAddr); - - return Result; + if( !Addr ) + { + return osl_Socket_Error; + } -} + struct sockaddr_in* pSystemInetAddr = reinterpret_cast<sockaddr_in *>(&Addr->m_sockaddr); -oslSocketResult osl_psz_getDottedInetAddrOfSocketAddr(oslSocketAddr pAddr, - sal_Char *pBuffer, sal_uInt32 BufferSize) -{ - SAL_WARN_IF( !pAddr, "sal.osl", "undefined address" ); - - if( pAddr ) + if (pSystemInetAddr->sin_family != FAMILY_TO_NATIVE(osl_Socket_FamilyInet)) { - struct sockaddr_in* pSystemInetAddr = reinterpret_cast<sockaddr_in *>(&pAddr->m_sockaddr); + return osl_Socket_Error; + } - if (pSystemInetAddr->sin_family == FAMILY_TO_NATIVE(osl_Socket_FamilyInet)) - { - strncpy(pBuffer, inet_ntoa(pSystemInetAddr->sin_addr), BufferSize); - pBuffer[BufferSize - 1] = '\0'; + rtl_uString_newFromAscii(ustrDottedInetAddr,inet_ntoa(pSystemInetAddr->sin_addr)); - return osl_Socket_Ok; - } - } + return osl_Socket_Ok; - return osl_Socket_Error; } oslSocket SAL_CALL osl_createSocket( _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits