Changeset 4262


Ignore:
Timestamp:
Jan 13, 2010, 1:11:14 AM (8 years ago)
Author:
Sam Hocevar
Message:

On HP-UX, connect(), bind() etc. do not use the struct sockaddr type but
use a void pointer instead. Check for that at configure time.

Location:
zzuf/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • zzuf/trunk/configure.ac

    r4258 r4262  
    5959  [#include <sys/types.h>
    6060   #include <sys/socket.h>])
     61
     62AC_MSG_CHECKING(for connect() second argument)
     63AC_TRY_COMPILE([#include <sys/types.h>
     64                #include <sys/socket.h>],
     65 [#if defined HAVE_SOCKLEN_T
     66  int connect(int, const struct sockaddr *, socklen_t);
     67  #else
     68  int connect(int, const struct sockaddr *, int);
     69  #endif],
     70 [AC_MSG_RESULT(const struct sockaddr *)
     71  AC_DEFINE(CONNECT_USES_STRUCT_SOCKADDR, 1, [Define to 1 if connect() uses struct sockaddr.])],
     72 [AC_MSG_RESULT(const void *)])
    6173
    6274AC_MSG_CHECKING(for read() prototype)
  • zzuf/trunk/src/libzzuf/lib-fd.c

    r4253 r4262  
    7777#endif
    7878
     79#if defined CONNECT_USES_STRUCT_SOCKADDR
     80#   define SOCKADDR_T struct sockaddr
     81#else
     82#   define SOCKADDR_T void
     83#endif
     84
    7985/* Local prototypes */
    8086#if defined HAVE_READV || defined HAVE_RECVMSG
     
    98104#endif
    99105#if defined HAVE_ACCEPT
    100 static int     (*ORIG(accept))  (int sockfd, struct sockaddr *addr,
     106static int     (*ORIG(accept))  (int sockfd, SOCKADDR_T *addr,
    101107                                 SOCKLEN_T *addrlen);
    102108#endif
    103109#if defined HAVE_BIND
    104 static int     (*ORIG(bind))    (int sockfd, const struct sockaddr *my_addr,
     110static int     (*ORIG(bind))    (int sockfd, const SOCKADDR_T *my_addr,
    105111                                 SOCKLEN_T addrlen);
    106112#endif
    107113#if defined HAVE_CONNECT
    108 static int     (*ORIG(connect)) (int sockfd, const struct sockaddr *serv_addr,
     114static int     (*ORIG(connect)) (int sockfd, const SOCKADDR_T *serv_addr,
    109115                                 SOCKLEN_T addrlen);
    110116#endif
     
    117123#if defined HAVE_RECVFROM
    118124static RECV_T  (*ORIG(recvfrom))(int s, void *buf, size_t len, int flags,
    119                                  struct sockaddr *from, SOCKLEN_T *fromlen);
     125                                 SOCKADDR_T *from, SOCKLEN_T *fromlen);
    120126#endif
    121127#if defined HAVE_RECVMSG
     
    245251
    246252#if defined HAVE_ACCEPT
    247 int NEW(accept)(int sockfd, struct sockaddr *addr, SOCKLEN_T *addrlen)
     253int NEW(accept)(int sockfd, SOCKADDR_T *addr, SOCKLEN_T *addrlen)
    248254{
    249255    int ret;
     
    311317
    312318#if defined HAVE_BIND
    313 int NEW(bind)(int sockfd, const struct sockaddr *my_addr, SOCKLEN_T addrlen)
     319int NEW(bind)(int sockfd, const SOCKADDR_T *my_addr, SOCKLEN_T addrlen)
    314320{
    315321    int ret; ZZ_CONNECT(bind, my_addr); return ret;
     
    318324
    319325#if defined HAVE_CONNECT
    320 int NEW(connect)(int sockfd, const struct sockaddr *serv_addr,
     326int NEW(connect)(int sockfd, const SOCKADDR_T *serv_addr,
    321327                 SOCKLEN_T addrlen)
    322328{
     
    380386#if defined HAVE_RECVFROM
    381387RECV_T NEW(recvfrom)(int s, void *buf, size_t len, int flags,
    382                      struct sockaddr *from, SOCKLEN_T *fromlen)
     388                     SOCKADDR_T *from, SOCKLEN_T *fromlen)
    383389{
    384390    int ret;
Note: See TracChangeset for help on using the changeset viewer.