X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ffilenet.c;h=dd14f7e7e38eca6874cb5f06ba6be29932b8fb48;hb=62dbcd8559ef5d6b6b51372e1b58afd14a85140d;hp=80d9baf46a5ca368d53454d9e04d2d7ce4fca3ee;hpb=efc05613724470915c842b3217ec0625dc8147a7;p=doldaconnect.git diff --git a/daemon/filenet.c b/daemon/filenet.c index 80d9baf..dd14f7e 100644 --- a/daemon/filenet.c +++ b/daemon/filenet.c @@ -112,6 +112,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,13 +453,16 @@ 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) { if(!wcscmp(arg->key, L"nick")) fnetsetnick(fn, arg->val); } getfnetnode(fn); - fn->args = args; if(netresolve(addr, (void (*)(struct sockaddr *, int, void *))resolvecb, fn) < 0) return(NULL); return(fn);