X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fio%2Ftest%2Frun-17-homemade-io.c;h=b827713a789209f27bbac586ebfbe80aedfeed0c;hp=8b6f17ad89a6ef21ad292cbf2b6c49317f51028d;hb=b85c47bb81a9078afc5ddc51448560187348bbbf;hpb=0f16a4197c94bfa84dad56d0cb9a9c20438d0a45 diff --git a/ccan/io/test/run-17-homemade-io.c b/ccan/io/test/run-17-homemade-io.c index 8b6f17ad..b827713a 100644 --- a/ccan/io/test/run-17-homemade-io.c +++ b/ccan/io/test/run-17-homemade-io.c @@ -23,7 +23,7 @@ static void finish_ok(struct io_conn *conn, struct packet *pkt) io_break(pkt, io_idle()); } -static bool do_read_packet(int fd, struct io_plan *plan) +static int do_read_packet(int fd, struct io_plan *plan) { struct packet *pkt = plan->u.ptr_len.p; char *dest; @@ -41,7 +41,7 @@ static bool do_read_packet(int fd, struct io_plan *plan) ok1(pkt->state == 2); pkt->state++; if (pkt->len == 0) - return true; + return io_debug_io(1); if (!pkt->contents && !(pkt->contents = malloc(pkt->len))) goto fail; else { @@ -58,14 +58,12 @@ static bool do_read_packet(int fd, struct io_plan *plan) plan->u.ptr_len.len += ret; /* Finished? */ - return (plan->u.ptr_len.len >= sizeof(pkt->len) - && plan->u.ptr_len.len == pkt->len + sizeof(pkt->len)); + return io_debug_io(plan->u.ptr_len.len >= sizeof(pkt->len) + && plan->u.ptr_len.len == pkt->len + sizeof(pkt->len)); fail: free(pkt->contents); - /* Override next function to close us. */ - plan->next = io_close; - return true; + return io_debug_io(-1); } static struct io_plan io_read_packet(struct packet *pkt, @@ -83,7 +81,6 @@ static struct io_plan io_read_packet(struct packet *pkt, plan.next_arg = arg; plan.pollflag = POLLIN; - io_plan_debug(&plan); return plan; } @@ -92,7 +89,7 @@ static void init_conn(int fd, struct packet *pkt) ok1(pkt->state == 0); pkt->state++; - io_set_finish(io_new_conn(fd, io_read_packet(pkt, io_close, pkt)), + io_set_finish(io_new_conn(fd, io_read_packet(pkt, io_close_cb, pkt)), finish_ok, pkt); }