X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ffilenet.c;h=64870d2dff6b9a914683c70e6d543cce701c67a5;hb=8d7a1e880011bbb660895f022a9f250f3cfda391;hp=a74f454b318b56c22cdf9facac5fa5931677e179;hpb=0e227c1d9f08cee2f7ac474c185d36db7b8097d0;p=doldaconnect.git diff --git a/daemon/filenet.c b/daemon/filenet.c index a74f454..64870d2 100644 --- a/daemon/filenet.c +++ b/daemon/filenet.c @@ -176,7 +176,6 @@ 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) @@ -186,7 +185,7 @@ static void resolvecb(struct sockaddr *addr, int addrlen, struct fnetnode *data) killfnetnode(data); putfnetnode(data); } else { - netcsconn(addr, addrlen, (void (*)(struct socket *, int, void *))conncb, data); + putsock(netcsconn(addr, addrlen, (void (*)(struct socket *, int, void *))conncb, data)); } } @@ -459,6 +458,15 @@ void fnetsetstate(struct fnetnode *fn, int newstate) CBCHAINDOCB(fn, fnetnode_ac, fn, L"state"); } +wchar_t *fnfilebasename(wchar_t *path) +{ + wchar_t *p; + + if((p = wcsrchr(path, L'/')) != NULL) + return(p + 1); + return(path); +} + struct fnet *findfnet(wchar_t *name) { struct fnet *fnet;