Dolda2000 GitWeb
/
doldaconnect.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed some typos.
[doldaconnect.git]
/
daemon
/
filenet.c
diff --git
a/daemon/filenet.c
b/daemon/filenet.c
index
dd14f7e
..
99e094a
100644
(file)
--- a/
daemon/filenet.c
+++ b/
daemon/filenet.c
@@
-67,19
+67,18
@@
void killfnetnode(struct fnetnode *fn)
if(fn->sk != NULL)
{
fn->sk->close = 1;
if(fn->sk != NULL)
{
fn->sk->close = 1;
- if(fn->sk->data == fn)
- putfnetnode(fn);
putsock(fn->sk);
fn->sk = NULL;
}
}
putsock(fn->sk);
fn->sk = NULL;
}
}
-
void
getfnetnode(struct fnetnode *fn)
+
struct fnetnode *
getfnetnode(struct fnetnode *fn)
{
fn->refcount++;
#ifdef DEBUG
fprintf(stderr, "getfnetnode on id %i at %p, refcount=%i\n", fn->id, fn, fn->refcount);
#endif
{
fn->refcount++;
#ifdef DEBUG
fprintf(stderr, "getfnetnode on id %i at %p, refcount=%i\n", fn->id, fn, fn->refcount);
#endif
+ return(fn);
}
void putfnetnode(struct fnetnode *fn)
}
void putfnetnode(struct fnetnode *fn)
@@
-118,6
+117,8
@@
void putfnetnode(struct fnetnode *fn)
free(fn->name);
if(fn->sk != NULL)
putsock(fn->sk);
free(fn->name);
if(fn->sk != NULL)
putsock(fn->sk);
+ if(fn->owner != NULL)
+ free(fn->owner);
free(fn);
numfnetnodes--;
}
free(fn);
numfnetnodes--;
}
@@
-158,19
+159,20
@@
void unlinkfnetnode(struct fnetnode *fn)
putfnetnode(fn);
}
putfnetnode(fn);
}
-static
void
conncb(struct socket *sk, int err, struct fnetnode *data)
+static
int
conncb(struct socket *sk, int err, struct fnetnode *data)
{
if(err != 0)
{
killfnetnode(data);
putfnetnode(data);
{
if(err != 0)
{
killfnetnode(data);
putfnetnode(data);
- return;
+ return
(1)
;
}
data->sk = sk;
fnetsetstate(data, FNN_HS);
socksettos(sk, confgetint("fnet", "fntos"));
data->fnet->connect(data);
putfnetnode(data);
}
data->sk = sk;
fnetsetstate(data, FNN_HS);
socksettos(sk, confgetint("fnet", "fntos"));
data->fnet->connect(data);
putfnetnode(data);
+ return(1);
}
static void resolvecb(struct sockaddr *addr, int addrlen, struct fnetnode *data)
}
static void resolvecb(struct sockaddr *addr, int addrlen, struct fnetnode *data)
@@
-180,7
+182,7
@@
static void resolvecb(struct sockaddr *addr, int addrlen, struct fnetnode *data)
killfnetnode(data);
putfnetnode(data);
} else {
killfnetnode(data);
putfnetnode(data);
} else {
- netcsconn(addr, addrlen, (
void
(*)(struct socket *, int, void *))conncb, data);
+ netcsconn(addr, addrlen, (
int
(*)(struct socket *, int, void *))conncb, data);
}
}
}
}
@@
-441,7
+443,7
@@
struct fnet *findfnet(wchar_t *name)
return(fnet);
}
return(fnet);
}
-struct fnetnode *fnetinitconnect(wchar_t *name, char *addr, struct wcspair *args)
+struct fnetnode *fnetinitconnect(wchar_t *name,
wchar_t *owner,
char *addr, struct wcspair *args)
{
struct fnet *fnet;
struct fnetnode *fn;
{
struct fnet *fnet;
struct fnetnode *fn;
@@
-453,6
+455,7
@@
struct fnetnode *fnetinitconnect(wchar_t *name, char *addr, struct wcspair *args
return(NULL);
}
fn = newfn(fnet);
return(NULL);
}
fn = newfn(fnet);
+ fn->owner = swcsdup(owner);
fn->pubid = icmbstowcs(addr, NULL);
if(fn->pubid == NULL)
fn->pubid = swcsdup(L"");
fn->pubid = icmbstowcs(addr, NULL);
if(fn->pubid == NULL)
fn->pubid = swcsdup(L"");
@@
-499,6
+502,7
@@
static struct configvar myvars[] =
{CONF_VAR_INT, "srchwait", {.num = 15}},
{CONF_VAR_INT, "fntos", {.num = 0}},
{CONF_VAR_INT, "fnptos", {.num = 0}},
{CONF_VAR_INT, "srchwait", {.num = 15}},
{CONF_VAR_INT, "fntos", {.num = 0}},
{CONF_VAR_INT, "fnptos", {.num = 0}},
+ {CONF_VAR_INT, "maxnodes", {.num = 0}},
{CONF_VAR_END}
};
{CONF_VAR_END}
};