X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ffilenet.c;h=18c74eff3351e2ce5eed8fcc64a14718224e6b38;hb=198e4c0866a8f9b607bdb4ddddf5739f4af9dfb2;hp=da83a0914afe06c9bdd91c60a7b1e5762d446a72;hpb=9c161e776f0aa97d4cea5af7a0de070a6cc428d7;p=doldaconnect.git diff --git a/daemon/filenet.c b/daemon/filenet.c index da83a09..18c74ef 100644 --- a/daemon/filenet.c +++ b/daemon/filenet.c @@ -176,17 +176,21 @@ static void conncb(struct socket *sk, int err, struct fnetnode *data) data->fnet->connect(data, sk); data->connected = 1; putfnetnode(data); - putsock(sk); } static void resolvecb(struct sockaddr *addr, int addrlen, struct fnetnode *data) { - if(addr == NULL) + struct socket *sk; + + sk = NULL; + if(addr != NULL) + sk = netcsconn(addr, addrlen, (void (*)(struct socket *, int, void *))conncb, data); + if(sk == NULL) { killfnetnode(data); putfnetnode(data); } else { - netcsconn(addr, addrlen, (void (*)(struct socket *, int, void *))conncb, data); + putsock(sk); } }