X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ffilenet.c;h=be6c5affb86292b58eaa592381ebe4967e938ad9;hb=3e0252c1448d505c1f2c58ba8024d5026529ff60;hp=dd14f7e7e38eca6874cb5f06ba6be29932b8fb48;hpb=d1e8b9fdbc499b3148bc3fe80eb50982c0d1ad22;p=doldaconnect.git diff --git a/daemon/filenet.c b/daemon/filenet.c index dd14f7e..be6c5af 100644 --- a/daemon/filenet.c +++ b/daemon/filenet.c @@ -68,7 +68,10 @@ void killfnetnode(struct fnetnode *fn) { fn->sk->close = 1; if(fn->sk->data == fn) + { + fn->sk->data = NULL; putfnetnode(fn); + } putsock(fn->sk); fn->sk = NULL; } @@ -118,6 +121,8 @@ void putfnetnode(struct fnetnode *fn) free(fn->name); if(fn->sk != NULL) putsock(fn->sk); + if(fn->owner != NULL) + free(fn->owner); free(fn); numfnetnodes--; } @@ -441,7 +446,7 @@ struct fnet *findfnet(wchar_t *name) 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; @@ -453,6 +458,7 @@ struct fnetnode *fnetinitconnect(wchar_t *name, char *addr, struct wcspair *args return(NULL); } fn = newfn(fnet); + fn->owner = swcsdup(owner); fn->pubid = icmbstowcs(addr, NULL); if(fn->pubid == NULL) fn->pubid = swcsdup(L""); @@ -499,6 +505,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, "maxnodes", {.num = 0}}, {CONF_VAR_END} };