X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ffnet-dc.c;h=f03458ffcdedd1b3de3bed141269593a061c030e;hb=0e227c1d9f08cee2f7ac474c185d36db7b8097d0;hp=c4d81c6ddfacf386a2fb49eb2ec2cb5696a70def;hpb=a1e6d478fa8edd72c08ce8b89a122bc12f6bf8d2;p=doldaconnect.git diff --git a/daemon/fnet-dc.c b/daemon/fnet-dc.c index c4d81c6..f03458f 100644 --- a/daemon/fnet-dc.c +++ b/daemon/fnet-dc.c @@ -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) {