X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=clients%2Fgnome-trans-applet%2Fconduit-dclib.c;h=6ce3f82f403a928527a915582c1d9681caf254dd;hb=2f4cd43c4483070e81c0862582a80b59a208f0dd;hp=2e8d0ae50854bef1678e6991d9cbe507a18a6dd7;hpb=6431aca05e3425df8ac4c2ed4e621d191f01425f;p=doldaconnect.git diff --git a/clients/gnome-trans-applet/conduit-dclib.c b/clients/gnome-trans-applet/conduit-dclib.c index 2e8d0ae..6ce3f82 100644 --- a/clients/gnome-trans-applet/conduit-dclib.c +++ b/clients/gnome-trans-applet/conduit-dclib.c @@ -84,8 +84,7 @@ static char *gettag(struct dc_transfer *dt) return(NULL); if((mbspath = icwcstombs(dt->path, "UTF-8")) == NULL) return(NULL); - /* XXX: Achtung! Too DC-specific! */ - if((p = strrchr(mbspath, '\\')) == NULL) + if((p = strrchr(mbspath, '/')) == NULL) p = mbspath; else p++; @@ -142,7 +141,7 @@ static void inittrans(struct conduit *conduit, struct dc_transfer *dt) 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) @@ -195,12 +194,12 @@ static void dcfdcb(struct conduit *conduit, int fd, GdkInputCondition condition) { 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); @@ -273,14 +272,11 @@ static int init(struct conduit *conduit) static int connect(struct conduit *conduit) { struct data *data; - char *host; data = conduit->cdata; if(inuse != NULL) return(-1); - if((host = getenv("DCSERVER")) == NULL) - host = "localhost"; - if((data->fd = dc_connect(host, -1)) < 0) + if((data->fd = dc_connect(NULL)) < 0) return(-1); data->gdkread = gdk_input_add(data->fd, GDK_INPUT_READ, (void (*)(gpointer, int, GdkInputCondition))dcfdcb, conduit); updatewrite(conduit); @@ -315,7 +311,7 @@ static int cancel(struct conduit *conduit, struct transfer *transfer) { 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); } }