char *buf;
int err;
struct fnetnode *fn;
+ struct wcspair *args;
haveargs(3);
havepriv(PERM_FNETCTL);
sq(sk, 0, L"504", L"Could not convert data to locale charset", NULL);
return;
}
- fn = fnetinitconnect(argv[1], buf);
+ args = NULL;
+ for(i = 3; i < argc - 1; i += 2)
+ newwcspair(argv[i], argv[i + 1], &args);
+ fn = fnetinitconnect(argv[1], buf, args);
err = errno;
free(buf);
if(fn == NULL)
sq(sk, 0, L"509", L"Could not parse the address", L"%%s", strerror(err), NULL);
return;
}
- for(i = 3; i < argc - 1; i += 2)
- {
- if(!wcscmp(argv[i], L"nick"))
- fnetsetnick(fn, argv[i + 1]);
- }
linkfnetnode(fn);
fnetsetname(fn, argv[2]);
putfnetnode(fn);
sq(sk, 0, L"200", L"%%i", total, L"tth", L"%%i", hashed, NULL);
}
+static void cmd_transstatus(struct socket *sk, struct uidata *data, int argc, wchar_t **argv)
+{
+ wchar_t *buf1, *buf2;
+
+ havepriv(PERM_TRANS);
+ buf1 = swprintf2(L"%lli", bytesdownload);
+ buf2 = swprintf2(L"%lli", bytesupload);
+ sq(sk, 0, L"200", L"%%ls", buf1, L"%%ls", buf2, NULL);
+ free(buf1);
+ free(buf2);
+}
+
#undef haveargs
#undef havepriv
{L"filtercmd", cmd_filtercmd},
{L"lstrarg", cmd_lstrarg},
{L"hashstatus", cmd_hashstatus},
+ {L"transstatus", cmd_transstatus},
{NULL, NULL}
};