X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;f=examples%2Fustream-example.c;h=3db56c443e0f9eb67bc3d3b75c099445522de2f3;hb=3aad2948ebceef7865a5cf749522bed9e332de05;hp=00c71222ac102f9773d56863f8cb7014483c5d0a;hpb=d3b328005573de83646bd3bc156ec82859c0441c;p=project%2Flibubox.git diff --git a/examples/ustream-example.c b/examples/ustream-example.c index 00c7122..3db56c4 100644 --- a/examples/ustream-example.c +++ b/examples/ustream-example.c @@ -5,6 +5,7 @@ #include #include #include +#include #include "ustream.h" #include "uloop.h" @@ -23,7 +24,7 @@ struct client { static void client_read_cb(struct ustream *s, int bytes) { - struct client *cl = container_of(s, struct client, s); + struct client *cl = container_of(s, struct client, s.stream); struct ustream_buf *buf = s->r.head; char *newline, *str; @@ -42,7 +43,7 @@ static void client_read_cb(struct ustream *s, int bytes) cl->ctr += newline + 1 - str; } while(1); - if (s->w.data_bytes > 256 && ustream_read_blocked(s)) { + if (s->w.data_bytes > 256 && !ustream_read_blocked(s)) { fprintf(stderr, "Block read, bytes: %d\n", s->w.data_bytes); ustream_set_read_blocked(s, true); } @@ -50,7 +51,7 @@ static void client_read_cb(struct ustream *s, int bytes) static void client_close(struct ustream *s) { - struct client *cl = container_of(s, struct client, s); + struct client *cl = container_of(s, struct client, s.stream); fprintf(stderr, "Connection closed\n"); ustream_free(s); @@ -70,7 +71,7 @@ static void client_notify_write(struct ustream *s, int bytes) static void client_notify_state(struct ustream *s) { - struct client *cl = container_of(s, struct client, s); + struct client *cl = container_of(s, struct client, s.stream); if (!s->eof) return;