Dolda2000 GitWeb
/
doldaconnect.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of /srv/git/r/doldaconnect
[doldaconnect.git]
/
daemon
/
filenet.c
diff --git
a/daemon/filenet.c
b/daemon/filenet.c
index
a74f454
..
18c74ef
100644
(file)
--- 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);
data->fnet->connect(data, sk);
data->connected = 1;
putfnetnode(data);
- putsock(sk);
}
static void resolvecb(struct sockaddr *addr, int addrlen, struct fnetnode *data)
{
}
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 {
{
killfnetnode(data);
putfnetnode(data);
} else {
-
netcsconn(addr, addrlen, (void (*)(struct socket *, int, void *))conncb, data
);
+
putsock(sk
);
}
}
}
}
@@
-459,6
+463,15
@@
void fnetsetstate(struct fnetnode *fn, int newstate)
CBCHAINDOCB(fn, fnetnode_ac, fn, L"state");
}
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;
struct fnet *findfnet(wchar_t *name)
{
struct fnet *fnet;