=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ftp/fetch.c,v retrieving revision 1.140 retrieving revision 1.141 diff -c -r1.140 -r1.141 *** src/usr.bin/ftp/fetch.c 2015/09/09 19:23:03 1.140 --- src/usr.bin/ftp/fetch.c 2015/09/10 10:35:58 1.141 *************** *** 1,4 **** ! /* $OpenBSD: fetch.c,v 1.140 2015/09/09 19:23:03 jsing Exp $ */ /* $NetBSD: fetch.c,v 1.14 1997/08/18 10:20:20 lukem Exp $ */ /*- --- 1,4 ---- ! /* $OpenBSD: fetch.c,v 1.141 2015/09/10 10:35:58 beck Exp $ */ /* $NetBSD: fetch.c,v 1.14 1997/08/18 10:20:20 lukem Exp $ */ /*- *************** *** 1464,1475 **** ret = fread(buf, sizeof(char), len, fp); #ifndef SMALL else if (tls!= NULL) { ! size_t nr; ! ! if ((ret = tls_read(tls, buf, len, &nr)) != 0) ret = 0; - else - ret = nr; } #endif /* !SMALL */ else --- 1464,1471 ---- ret = fread(buf, sizeof(char), len, fp); #ifndef SMALL else if (tls!= NULL) { ! if ((ret = tls_read(tls, buf, len)) != 0) ret = 0; } #endif /* !SMALL */ else *************** *** 1510,1516 **** SSL_vprintf(struct tls *tls, const char *fmt, va_list ap) { char *string, *buf; ! size_t nw, len; int ret; if ((ret = vasprintf(&string, fmt, ap)) == -1) --- 1506,1512 ---- SSL_vprintf(struct tls *tls, const char *fmt, va_list ap) { char *string, *buf; ! size_t len; int ret; if ((ret = vasprintf(&string, fmt, ap)) == -1) *************** *** 1518,1530 **** buf = string; len = ret; while (len > 0) { ! ret = tls_write(tls, buf, len, &nw); ! if (ret == TLS_READ_AGAIN || ret == TLS_WRITE_AGAIN) continue; if (ret < 0) break; ! buf += nw; ! len -= nw; } free(string); return ret; --- 1514,1526 ---- buf = string; len = ret; while (len > 0) { ! ret = tls_write(tls, buf, len); ! if (ret == TLS_WANT_POLLIN || ret == TLS_WANT_POLLOUT) continue; if (ret < 0) break; ! buf += ret; ! len -= ret; } free(string); return ret; *************** *** 1533,1539 **** char * SSL_readline(struct tls *tls, size_t *lenp) { ! size_t i, len, nr; char *buf, *q, c; int ret; --- 1529,1535 ---- char * SSL_readline(struct tls *tls, size_t *lenp) { ! size_t i, len; char *buf, *q, c; int ret; *************** *** 1548,1555 **** len *= 2; } again: ! ret = tls_read(tls, &c, 1, &nr); ! if (ret == TLS_READ_AGAIN || ret == TLS_WRITE_AGAIN) goto again; if (ret != 0) errx(1, "SSL read error: %s", tls_error(tls)); --- 1544,1551 ---- len *= 2; } again: ! ret = tls_read(tls, &c, 1); ! if (ret == TLS_WANT_POLLIN || ret == TLS_WANT_POLLOUT) goto again; if (ret != 0) errx(1, "SSL read error: %s", tls_error(tls));