version 1.141, 2015/09/10 10:35:58 |
version 1.142, 2015/09/10 13:43:35 |
|
|
size_t |
size_t |
ftp_read(FILE *fp, struct tls *tls, char *buf, size_t len) |
ftp_read(FILE *fp, struct tls *tls, char *buf, size_t len) |
{ |
{ |
size_t ret; |
ssize_t tls_ret; |
|
size_t ret = 0; |
|
|
if (fp != NULL) |
if (fp != NULL) |
ret = fread(buf, sizeof(char), len, fp); |
ret = fread(buf, sizeof(char), len, fp); |
#ifndef SMALL |
#ifndef SMALL |
else if (tls!= NULL) { |
else if (tls != NULL) { |
if ((ret = tls_read(tls, buf, len)) != 0) |
if ((tls_ret = tls_read(tls, buf, len)) >= 0) |
ret = 0; |
ret = (size_t)tls_ret; |
} |
} |
#endif /* !SMALL */ |
#endif /* !SMALL */ |
else |
|
ret = 0; |
|
return (ret); |
return (ret); |
} |
} |
|
|
|
|
ret = tls_read(tls, &c, 1); |
ret = tls_read(tls, &c, 1); |
if (ret == TLS_WANT_POLLIN || ret == TLS_WANT_POLLOUT) |
if (ret == TLS_WANT_POLLIN || ret == TLS_WANT_POLLOUT) |
goto again; |
goto again; |
if (ret != 0) |
if (ret < 0) |
errx(1, "SSL read error: %s", tls_error(tls)); |
errx(1, "SSL read error: %s", tls_error(tls)); |
|
|
buf[i] = c; |
buf[i] = c; |