#define LIST_REMHEAD(l) LIST_REMSOMEHOW((l),list_remhead)
#define LIST_REMTAIL(l) LIST_REMSOMEHOW((l),list_remtail)
#define LIST_REMHEAD(l) LIST_REMSOMEHOW((l),list_remhead)
#define LIST_REMTAIL(l) LIST_REMSOMEHOW((l),list_remtail)
#define LIST_HEAD(l) ((typeof((l).u.for_type))(list_head((struct list*)&(l))))
#define LIST_NEXT(n) ((typeof(n))list_succ(NODE((n))))
#define LIST_BACK(n) ((typeof(n))list_pred(NODE((n))))
#define LIST_HEAD(l) ((typeof((l).u.for_type))(list_head((struct list*)&(l))))
#define LIST_NEXT(n) ((typeof(n))list_succ(NODE((n))))
#define LIST_BACK(n) ((typeof(n))list_pred(NODE((n))))
ssize_t rs= recvmsg(fd, &msg, 0);
if (rs<0) {
if (isewouldblock(errno)) return OOP_CONTINUE;
ssize_t rs= recvmsg(fd, &msg, 0);
if (rs<0) {
if (isewouldblock(errno)) return OOP_CONTINUE;
conn= xmalloc(sizeof(*conn));
memset(conn,0,sizeof(*conn));
conn= xmalloc(sizeof(*conn));
memset(conn,0,sizeof(*conn));
conn->max_queue= conn->stream ? max_queue_per_conn : 1;
loop->on_fd(loop, conn->fd, OOP_EXCEPTION, conn_exception, conn);
conn->max_queue= conn->stream ? max_queue_per_conn : 1;
loop->on_fd(loop, conn->fd, OOP_EXCEPTION, conn_exception, conn);
int socks[2];
int r= socketpair(AF_UNIX, SOCK_STREAM, 0, socks);
int socks[2];
int r= socketpair(AF_UNIX, SOCK_STREAM, 0, socks);
if (NNTPsendpassword((char*)remote_host, cn_from, cn_to) < 0)
sysfatal("connect: authentication failed");
if (try_stream) {
if (NNTPsendpassword((char*)remote_host, cn_from, cn_to) < 0)
sysfatal("connect: authentication failed");
if (try_stream) {
fatal("connect: response to MODE STREAM is too long: %.100s...",
sanitise(buf));
l--; if (l>0 && buf[l-1]=='\r') l--;
fatal("connect: response to MODE STREAM is too long: %.100s...",
sanitise(buf));
l--; if (l>0 && buf[l-1]=='\r') l--;
msg.msg_controllen= cmsg->cmsg_len;
r= sendmsg(socks[1], &msg, 0);
msg.msg_controllen= cmsg->cmsg_len;
r= sendmsg(socks[1], &msg, 0);