X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Fui.c;h=066615dbdb054ce5c449d46bd563db863ffb879e;hb=76236762f2bd653a4283e1476388f7374464cc20;hp=4484a1d008c51fdf35de585bb184a304dc350938;hpb=0a1bc5b19fe40d88790d02f236ea4c9637024969;p=doldaconnect.git diff --git a/daemon/ui.c b/daemon/ui.c index 4484a1d..066615d 100644 --- a/daemon/ui.c +++ b/daemon/ui.c @@ -144,7 +144,7 @@ struct uidata size_t inbufsize, indata; /* Wordset storage */ wchar_t **argv; - int argc, args; + size_t argc, args; /* WCS conversation stuff */ wchar_t *cb; /* Conversation buffer */ size_t cbsize, cbdata; @@ -571,6 +571,11 @@ static void cmd_fnetconnect(struct socket *sk, struct uidata *data, int argc, wc haveargs(3); havepriv(PERM_FNETCTL); + for(i = 0, fn = fnetnodes; fn != NULL; i++, fn = fn->next); + if((confgetint("fnet", "maxnodes") > 0) && (i >= confgetint("fnet", "maxnodes"))) { + sq(sk, 0, L"515", L"Too many fnetnodes connected already", NULL); + return; + } if((buf = icwcstombs(argv[2], NULL)) == NULL) { sq(sk, 0, L"504", L"Could not convert data to locale charset", NULL); @@ -592,8 +597,8 @@ static void cmd_fnetconnect(struct socket *sk, struct uidata *data, int argc, wc } linkfnetnode(fn); fnetsetname(fn, argv[2]); + sq(sk, 0, L"200", L"%%i", fn->id, L"Connection under way", NULL); putfnetnode(fn); - sq(sk, 0, L"200", L"Connection under way", NULL); } static void cmd_lsnodes(struct socket *sk, struct uidata *data, int argc, wchar_t **argv)