]> git.sesse.net Git - vlc/commitdiff
Don't require a vlc_object_t in net_Get(Sock|Peer)Address
authorRémi Denis-Courmont <rem@videolan.org>
Fri, 29 Jul 2005 17:28:01 +0000 (17:28 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Fri, 29 Jul 2005 17:28:01 +0000 (17:28 +0000)
(will be needed by a later commit)

include/network.h
modules/access/ftp.c
modules/access/mms/mmstu.c

index 759f714bea307c4541bc3bad930f8f0fd5362e22..62af2faf43bbb3671a365e6bd6c4753a03828860 100644 (file)
@@ -32,7 +32,6 @@
 #   include <winsock2.h>
 #   include <ws2tcpip.h>
 #else
-#   include <errno.h>
 #   include <netdb.h>
 #if HAVE_SYS_SOCKET_H
 #   include <sys/socket.h>
@@ -506,37 +505,26 @@ static inline vlc_bool_t net_AddressIsMulticast( vlc_object_t *p_object, char *p
     return b_multicast;
 }
 
-#define net_GetSockAddress(a,b,c,d) __net_GetAddress(VLC_OBJECT(a),VLC_FALSE,b,c,d)
-#define net_GetPeerAddress(a,b,c,d) __net_GetAddress(VLC_OBJECT(a),VLC_TRUE,b,c,d)
-
-static inline int __net_GetAddress( vlc_object_t *p_this, vlc_bool_t peer, int fd,
-                      char *address, int *port )
+static inline int net_GetSockAddress( int fd, char *address, int *port )
 {
     struct sockaddr_storage addr;
     socklen_t addrlen = sizeof( addr );
-    int val;
 
-    val = peer ? getpeername( fd, (struct sockaddr *)&addr, &addrlen )
-               : getsockname( fd, (struct sockaddr *)&addr, &addrlen );
+    return getpeername( fd, (struct sockaddr *)&addr, &addrlen )
+        || vlc_getnameinfo( (struct sockaddr *)&addr, addrlen, address,
+                            NI_MAXNUMERICHOST, port, NI_NUMERICHOST )
+        ? VLC_EGENERIC : 0;
+}
 
-    if (val)
-    {
-#if defined(WIN32) || defined (UNDER_CE)
-        msg_Err( p_this, "socket address error : %d", WSAGetLastError( ) );
-#else
-        msg_Err( p_this, "socket address error : %s", strerror( errno ) );
-#endif
-        return val;
-    }
+static inline int net_GetPeerAddress( int fd, char *address, int *port )
+{
+    struct sockaddr_storage addr;
+    socklen_t addrlen = sizeof( addr );
 
-    val = vlc_getnameinfo( (struct sockaddr *)&addr, addrlen,
-                           address, NI_MAXNUMERICHOST, port, NI_NUMERICHOST );
-    if( val )
-    {
-        msg_Err( p_this, "socket address error : %s",
-                 vlc_gai_strerror( val ) );
-    }
-    return 0;
+    return getpeername( fd, (struct sockaddr *)&addr, &addrlen )
+        || vlc_getnameinfo( (struct sockaddr *)&addr, addrlen, address,
+                            NI_MAXNUMERICHOST, port, NI_NUMERICHOST )
+        ? VLC_EGENERIC : 0;
 }
 
 #endif
index ab605811fc63f521b75beff9e5f7dc50ea919d7f..fee459bbe78e50297239eb3f2165f5cf28a9fd36 100644 (file)
@@ -250,8 +250,7 @@ static int Open( vlc_object_t *p_this )
 
     if( ftp_ReadCommand( p_access, &i_answer, NULL ) == 2 )
     {
-        if( net_GetPeerAddress( p_access, p_sys->fd_cmd, p_sys->sz_epsv_ip,
-                                NULL ) )
+        if( net_GetPeerAddress( p_sys->fd_cmd, p_sys->sz_epsv_ip, NULL ) )
             goto exit_error;
     }
     else
index 59c03560ea5a4ab17062456e8fdf5fba4e7389c5..a5a0dc81d2cf7cd9cad3b71c994dea9e294be8cc 100644 (file)
@@ -490,8 +490,8 @@ static int MMSOpen( access_t  *p_access, vlc_url_t *p_url, int  i_proto )
     /* *** Bind port if UDP protocol is selected *** */
     if( b_udp )
     {
-        if( net_GetSockAddress( p_access, p_sys->i_handle_tcp,
-                                p_sys->sz_bind_addr, NULL ) )
+        if( net_GetSockAddress( p_sys->i_handle_tcp, p_sys->sz_bind_addr,
+                                NULL ) )
         {
             net_Close( p_sys->i_handle_tcp );
             return VLC_EGENERIC;