static void i_stream_header_filter_destroy(struct iostream_private *stream)
{
struct header_filter_istream *mstream =
- (struct header_filter_istream *)stream;
+ container_of(stream, struct header_filter_istream, istream.iostream);
if (mstream->hdr_ctx != NULL)
message_parse_header_deinit(&mstream->hdr_ctx);
static ssize_t i_stream_header_filter_read(struct istream_private *stream)
{
struct header_filter_istream *mstream =
- (struct header_filter_istream *)stream;
+ container_of(stream, struct header_filter_istream, istream);
uoff_t v_offset;
ssize_t ret;
uoff_t v_offset, bool mark ATTR_UNUSED)
{
struct header_filter_istream *mstream =
- (struct header_filter_istream *)stream;
+ container_of(stream, struct header_filter_istream, istream);
if (stream->istream.v_offset == v_offset) {
/* just reset the input buffer */
i_stream_header_filter_stat(struct istream_private *stream, bool exact)
{
struct header_filter_istream *mstream =
- (struct header_filter_istream *)stream;
+ container_of(stream, struct header_filter_istream, istream);
const struct stat *st;
uoff_t old_offset;
struct istream_snapshot *prev_snapshot)
{
struct header_filter_istream *mstream =
- (struct header_filter_istream *)stream;
+ container_of(stream, struct header_filter_istream, istream);
struct header_filter_istream_snapshot *snapshot;
if (stream->buffer != mstream->hdr_buf->data) {