X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fio%2Ftest%2Frun-17-homemade-io.c;h=65fe7415aba720aaaa83dbc9191459324ea9d28e;hb=5a7e32bdb9b9c2273ef4cce8b35e23f177c504df;hp=07794fa98e125d66480af8e8be62d3f9a7b0e16c;hpb=3a7b8a8a8081ebbb6457527de376dec6264bc381;p=ccan diff --git a/ccan/io/test/run-17-homemade-io.c b/ccan/io/test/run-17-homemade-io.c index 07794fa9..65fe7415 100644 --- a/ccan/io/test/run-17-homemade-io.c +++ b/ccan/io/test/run-17-homemade-io.c @@ -25,28 +25,28 @@ static void finish_ok(struct io_conn *conn, struct packet *pkt) static int do_read_packet(int fd, struct io_plan *plan) { - struct packet *pkt = plan->u.ptr_len.p; + struct packet *pkt = plan->u1.vp; char *dest; ssize_t ret; size_t off, totlen; /* Reading len? */ - if (plan->u.ptr_len.len < sizeof(size_t)) { + if (plan->u2.s < sizeof(size_t)) { ok1(pkt->state == 1); pkt->state++; dest = (char *)&pkt->len; - off = plan->u.ptr_len.len; + off = plan->u2.s; totlen = sizeof(pkt->len); } else { ok1(pkt->state == 2); pkt->state++; if (pkt->len == 0) - return 1; + return io_debug_io(1); if (!pkt->contents && !(pkt->contents = malloc(pkt->len))) goto fail; else { dest = pkt->contents; - off = plan->u.ptr_len.len - sizeof(pkt->len); + off = plan->u2.s - sizeof(pkt->len); totlen = pkt->len; } } @@ -55,15 +55,15 @@ static int do_read_packet(int fd, struct io_plan *plan) if (ret <= 0) goto fail; - plan->u.ptr_len.len += ret; + plan->u2.s += 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->u2.s >= sizeof(pkt->len) + && plan->u2.s == pkt->len + sizeof(pkt->len)); fail: free(pkt->contents); - return -1; + return io_debug_io(-1); } static struct io_plan io_read_packet(struct packet *pkt, @@ -74,14 +74,13 @@ static struct io_plan io_read_packet(struct packet *pkt, assert(cb); pkt->contents = NULL; - plan.u.ptr_len.p = pkt; - plan.u.ptr_len.len = 0; + plan.u1.vp = pkt; + plan.u2.s = 0; plan.io = do_read_packet; plan.next = cb; plan.next_arg = arg; plan.pollflag = POLLIN; - io_plan_debug(&plan); return plan; }