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);
}
}