X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ffilenet.c;h=5e2b607e7a6eb4bfbd17467c837ebf8d0c88939d;hb=161604ea3b618f4c63ff6e074ef0ae5d94e08708;hp=417f6b8d43cf648c2a2e56e063ccfb29b2bc47a0;hpb=547717748489192c66eefedfff7a031010faefce;p=doldaconnect.git diff --git a/daemon/filenet.c b/daemon/filenet.c index 417f6b8..5e2b607 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; } @@ -112,6 +115,8 @@ void putfnetnode(struct fnetnode *fn) fnetdelpeer(fn->peers); if(fn->mynick != NULL) free(fn->mynick); + if(fn->pubid != NULL) + free(fn->pubid); if(fn->name != NULL) free(fn->name); if(fn->sk != NULL) @@ -451,6 +456,9 @@ struct fnetnode *fnetinitconnect(wchar_t *name, char *addr, struct wcspair *args return(NULL); } fn = newfn(fnet); + fn->pubid = icmbstowcs(addr, NULL); + if(fn->pubid == NULL) + fn->pubid = swcsdup(L""); fn->args = args; for(arg = fn->args; arg != NULL; arg = arg->next) { @@ -494,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, "maxnodes", {.num = 0}}, {CONF_VAR_END} };