X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=conn.c;h=7ee6aabb11ed435c2cefdef1d335d465cd87d638;hb=e2d02662c513ccf5ed9391483cec014a12db087d;hp=751c41083243403ba83a921a8d20df01113218ad;hpb=e78c65cead45c3588f021266b2ca505d73c473ab;p=innduct.git diff --git a/conn.c b/conn.c index 751c410..7ee6aab 100644 --- a/conn.c +++ b/conn.c @@ -100,7 +100,7 @@ void vconnfail(Conn *conn, const char *fmt, va_list al) { LIST_REMOVE(conns,conn); - char *m= xvasprintf(fmt,al); + char *m= mvasprintf(fmt,al); warn("C%d (now %d) connection failed " "(requeueing " RCI_TRIPLE_FMT_BASE "): %s", conn->fd, conns.count, RCI_TRIPLE_VALS_BASE(requeue, /*nothing*/), m); @@ -327,7 +327,7 @@ static void *connchild_event(oop_source *lp, int fd, oop_event e, void *u) { loop->on_fd(loop, conn->fd, OOP_EXCEPTION, conn_exception, conn); conn->rd= oop_rd_new_fd(loop,conn->fd, 0, 0); /* sets nonblocking, too */ if (!conn->fd) crash("oop_rd_new_fd conn failed (fd=%d)",conn->fd); - int r= oop_rd_read(conn->rd, &peer_rd_style, NNTP_STRLEN, + int r= oop_rd_read(conn->rd, &peer_rd_style, NNTP_MAXLEN_COMMAND+1, &peer_rd_ok, conn, &peer_rd_err, conn); if (r) syscrash("oop_rd_read for peer (fd=%d)",conn->fd); @@ -370,7 +370,7 @@ void connect_start(void) { if (!connecting_child) { FILE *cn_from, *cn_to; - char buf[NNTP_STRLEN+100]; + char buf[NNTP_MAXLEN_COMMAND+100]; int exitstatus= CONNCHILD_ESTATUS_NOSTREAM; xclose(socks[0], "(in child) parent's connection fdpass socket",0); @@ -428,7 +428,7 @@ void connect_start(void) { default: warn("connect: unexpected response to MODE STREAM: %.50s", sanitise(buf,-1)); - exitstatus= 2; + exitstatus= CONNCHILD_ESTATUS_NOSTREAM; break; } }