You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by bj...@apache.org on 2002/04/14 10:04:18 UTC

cvs commit: apr/network_io/os2 sockets.c

bjh         02/04/14 01:04:18

  Modified:    network_io/os2 sockets.c
  Log:
  OS/2: Set up local_addr of accepted socket
  
  Revision  Changes    Path
  1.53      +9 -2      apr/network_io/os2/sockets.c
  
  Index: sockets.c
  ===================================================================
  RCS file: /home/cvs/apr/network_io/os2/sockets.c,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- sockets.c	1 Apr 2002 14:18:22 -0000	1.52
  +++ sockets.c	14 Apr 2002 08:04:17 -0000	1.53
  @@ -196,9 +196,16 @@
       if ((*new)->socketdes < 0) {
           return APR_OS2_STATUS(sock_errno());
       }
  -    /* XXX fix up any pointers which are no longer valid (or just call
  -     *     apr_sockaddr_vars_set() to do it */
  +
  +    *(*new)->local_addr = *sock->local_addr;
  +    (*new)->local_addr->pool = connection_context;
       (*new)->remote_addr->port = ntohs((*new)->remote_addr->sa.sin.sin_port);
  +
  +    /* fix up any pointers which are no longer valid */
  +    if (sock->local_addr->sa.sin.sin_family == AF_INET) {
  +        (*new)->local_addr->ipaddr_ptr = &(*new)->local_addr->sa.sin.sin_addr;
  +    }
  +
       apr_pool_cleanup_register((*new)->cntxt, (void *)(*new), 
                           socket_cleanup, apr_pool_cleanup_null);
       return APR_SUCCESS;