commit - 2349b02b261cabf5a95215f24550c454712066f6
commit + f62aab517ddf73e0e5ea09452dab58f73315b2c8
blob - c8b40bbc13e6530e1de29567f95c519b843c94d9
blob + b126cca4c099ac3c28afbdb005d196536ed1521a
--- gg.c
+++ gg.c
/* errx(1, "tls_write: %s", tls_error(ctx)); */
for (;;) {
- len = tls_read(ctx, buf, sizeof(buf));
- if (len == 0 || len == -1)
- break;
+ switch (len = tls_read(ctx, buf, sizeof(buf))) {
+ case 0:
+ case -1:
+ goto end;
+ case TLS_WANT_POLLIN:
+ case TLS_WANT_POLLOUT:
+ continue;
+ }
if (bflag) {
bflag = 0;
write(1, buf, len);
}
+end:
tls_close(ctx);
tls_free(ctx);