dtd->conduit = conduit;
dt->udata = dtd;
dt->destroycb = dtfreecb;
- dc_queuecmd(lstrargcb, dt, L"lstrarg", L"%%i", dt->id, NULL);
+ dc_queuecmd(lstrargcb, dt, L"lstrarg", L"%i", dt->id, NULL);
}
static void trlistcb(int resp, struct conduit *conduit)
{
if(!wcscmp(resp->cmdname, L".connect"))
{
- if(resp->code == 200)
+ if(dc_checkprotocol(resp, DC_LATEST))
{
- dc_loginasync(NULL, 1, noconv, (void (*)(int, wchar_t *, void *))logincb, conduit);
- } else {
dc_disconnect();
disconnected(conduit);
+ } else {
+ dc_loginasync(NULL, 1, noconv, (void (*)(int, wchar_t *, void *))logincb, conduit);
}
} else if(!wcscmp(resp->cmdname, L".notify")) {
dc_uimisc_handlenotify(resp);
{
if(((dtd = dt->udata) != NULL) && (dtd->ct == transfer))
{
- dc_queuecmd(NULL, NULL, L"cancel", L"%%i", dt->id, NULL);
+ dc_queuecmd(NULL, NULL, L"cancel", L"%i", dt->id, NULL);
return(0);
}
}