Merge remote-tracking branch 'remotes/IOMultiplexer/v2'
authorpk910 <philipp@zoelle1.de>
Thu, 31 Jul 2014 18:35:18 +0000 (20:35 +0200)
committerpk910 <philipp@zoelle1.de>
Thu, 31 Jul 2014 18:35:18 +0000 (20:35 +0200)
1  2 
src/IOHandler/IOSockets.c

index d83d0fc40b1ba879604dc0e7f52c8367c1750da4,d67da512dfb0ae654179fe6eb1b2b378d29e6df0..55c6cee6035114c67550db8b8fc98307b0fe15ae
@@@ -504,7 -504,7 +504,7 @@@ static void iosocket_update_parent(stru
                        else
                                iosock->bind.addr.addresslen = sizeof(struct sockaddr_in);
                        iosock->bind.addr.address = malloc(iosock->bind.addr.addresslen);
-                       getsockname(iosock->fd, (struct sockaddr *)iosock->bind.addr.address, &iosock->bind.addr.addresslen);
+                       getsockname(iosock->fd, (struct sockaddr *)iosock->bind.addr.address, (socklen_t *)&iosock->bind.addr.addresslen);
                }
        }
  } 
@@@ -825,32 -825,6 +825,32 @@@ void iosocket_close(struct IOSocket *io
        iogc_add(iosocket);
  }
  
 +struct IODNSAddress *iosocket_get_remote_addr(struct IOSocket *iosocket) {
 +      struct _IOSocket *iosock = iosocket->iosocket;
 +      if(iosock == NULL) {
 +              iolog_trigger(IOLOG_WARNING, "called iosocket_get_remote_addr for destroyed IOSocket in %s:%d", __FILE__, __LINE__);
 +              return NULL;
 +      }
 +      if(iosock->socket_flags & IOSOCKETFLAG_PENDING_DESTDNS)
 +              return NULL;
 +      if(!iosock->dest.addr.addresslen)
 +              return NULL;
 +      return &iosock->dest.addr;
 +}
 +
 +struct IODNSAddress *iosocket_get_local_addr(struct IOSocket *iosocket) {
 +      struct _IOSocket *iosock = iosocket->iosocket;
 +      if(iosock == NULL) {
 +              iolog_trigger(IOLOG_WARNING, "called iosocket_get_local_addr for destroyed IOSocket in %s:%d", __FILE__, __LINE__);
 +              return NULL;
 +      }
 +      if(iosock->socket_flags & IOSOCKETFLAG_PENDING_BINDDNS)
 +              return NULL;
 +      if(!iosock->bind.addr.addresslen)
 +              return NULL;
 +      return &iosock->bind.addr;
 +}
 +
  static int iosocket_try_write(struct _IOSocket *iosock) {
        if(!iosock->writebuf.bufpos && !(iosock->socket_flags & IOSOCKETFLAG_SSL_WRITEHS)) \r
                return 0;