X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ffnet-dc.c;h=f03458ffcdedd1b3de3bed141269593a061c030e;hb=0e227c1d9f08cee2f7ac474c185d36db7b8097d0;hp=d93402529956dc73474bdcf3ab6493d8572fb4e6;hpb=dcf7a1a214150f84d51159c9c679b7697cb05298;p=doldaconnect.git diff --git a/daemon/fnet-dc.c b/daemon/fnet-dc.c index d934025..f03458f 100644 --- a/daemon/fnet-dc.c +++ b/daemon/fnet-dc.c @@ -641,7 +641,7 @@ static int trresumecb(struct transfer *transfer, wchar_t *cmd, wchar_t *arg, str flog(LOG_WARNING, "filter returned no position for \"resume\" on transfer %i", transfer->id); freedcpeer(peer); } else { - transfer->curpos = wcstol(arg, NULL, 10); + transfer->curpos = wcstoll(arg, NULL, 10); peer->hascurpos = 1; requestfile(peer); } @@ -905,10 +905,10 @@ static void cmd_nicklist(struct socket *sk, struct fnetnode *fn, char *cmd, char struct dchub *hub; char *p; wchar_t *buf; - struct fnetpeer *peer, *npeer; + struct fnetpeer *peer; hub = fn->data; - for(peer = fn->peers; peer != NULL; peer = peer->next) + for(peer = btreeiter(fn->peers); peer != NULL; peer = btreeiter(NULL)) peer->flags.b.delete = 1; while((p = strstr(args, "$$")) != NULL) { @@ -924,12 +924,7 @@ static void cmd_nicklist(struct socket *sk, struct fnetnode *fn, char *cmd, char } args = p + 2; } - for(peer = fn->peers; peer != NULL; peer = npeer) - { - npeer = peer->next; - if(peer->flags.b.delete) - fnetdelpeer(peer); - } + fnetpeerdm(fn); hubhandleaction(sk, fn, cmd, args); } @@ -941,7 +936,7 @@ static void cmd_oplist(struct socket *sk, struct fnetnode *fn, char *cmd, char * struct fnetpeer *peer; hub = fn->data; - for(peer = fn->peers; peer != NULL; peer = peer->next) + for(peer = btreeiter(fn->peers); peer != NULL; peer = btreeiter(NULL)) peer->flags.b.op = 0; while((p = strstr(args, "$$")) != NULL) {