ssize_t size;
size = archive_handle->read(archive_handle->src_fd, buf, count);
- if (size == -1) {
+ if (size < 0) {
bb_perror_msg_and_die("Read error");
}
archive_handle->action_header = header_skip;
archive_handle->action_data = data_skip;
archive_handle->filter = filter_accept_all;
- archive_handle->read = read;
+ archive_handle->read = bb_full_read;
archive_handle->seek = seek_by_jump;
return(archive_handle);
while (1) {
char buf;
- int n = read(gzipStatusPipe[0], &buf, 1);
+ int n = bb_full_read(gzipStatusPipe[0], &buf, 1);
if (n == 0 && vfork_exec_errno != 0) {
errno = vfork_exec_errno;