+static void peerdetach(struct dcpeer *peer)
+{
+ CBUNREG(peer->transfer, trans_filterout, peer);
+ closesock(peer->trpipe);
+ quitsock(peer->trpipe);
+ peer->trpipe = NULL;
+ if(peer->transfer->dir == TRNSD_UP)
+ peer->transfer->close = 1;
+ else if(peer->transfer->dir == TRNSD_DOWN)
+ resettransfer(peer->transfer);
+ peer->transfer = NULL;
+}
+