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

Reply via email to