istream-zstd.c (dovecot-2.3.16) | : | istream-zstd.c (dovecot-2.3.17) | ||
---|---|---|---|---|
skipping to change at line 149 | skipping to change at line 149 | |||
/* see if we can get more */ | /* see if we can get more */ | |||
if (zstream->input.pos == zstream->input.size) { | if (zstream->input.pos == zstream->input.size) { | |||
ssize_t ret; | ssize_t ret; | |||
buffer_set_used_size(zstream->frame_buffer, 0); | buffer_set_used_size(zstream->frame_buffer, 0); | |||
/* need to read more */ | /* need to read more */ | |||
if ((ret = i_stream_read_more(stream->parent, &data, &siz e)) < 0) { | if ((ret = i_stream_read_more(stream->parent, &data, &siz e)) < 0) { | |||
stream->istream.stream_errno = | stream->istream.stream_errno = | |||
stream->parent->stream_errno; | stream->parent->stream_errno; | |||
stream->istream.eof = stream->parent->eof; | stream->istream.eof = stream->parent->eof; | |||
if (!zstream->hdr_read) | if (stream->istream.stream_errno != 0) | |||
; | ||||
else if (!zstream->hdr_read) | ||||
stream->istream.stream_errno = EINVAL; | stream->istream.stream_errno = EINVAL; | |||
else if (zstream->remain && | else if (zstream->remain) | |||
stream->istream.stream_errno == 0) | ||||
/* truncated data */ | /* truncated data */ | |||
stream->istream.stream_errno = EPIPE; | stream->istream.stream_errno = EPIPE; | |||
return ret; | return ret; | |||
} | } | |||
if (ret == 0) | if (ret == 0) | |||
return 0; | return 0; | |||
buffer_append(zstream->frame_buffer, data, size); | buffer_append(zstream->frame_buffer, data, size); | |||
/* NOTE: All of the parent stream input is skipped | /* NOTE: All of the parent stream input is skipped | |||
over here. This is why there's no need to call | over here. This is why there's no need to call | |||
i_stream_set_input_pending() here like with other | i_stream_set_input_pending() here like with other | |||
End of changes. 2 change blocks. | ||||
3 lines changed or deleted | 4 lines changed or added |