Mercurial > dovecot > original-hg > dovecot-1.2
view src/lib/istream-data.c @ 6419:3a960ffa5de8 HEAD
If iostream.close/destroy isn't set by the stream implementation, use a
default no-op function.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 16 Sep 2007 12:51:41 +0300 |
parents | b0096861c390 |
children | a8b515e1a26f |
line wrap: on
line source
/* Copyright (c) 2002-2003 Timo Sirainen */ #include "lib.h" #include "istream-internal.h" static ssize_t _read(struct istream_private *stream ATTR_UNUSED) { stream->istream.eof = TRUE; return -1; } static void _seek(struct istream_private *stream, uoff_t v_offset, bool mark ATTR_UNUSED) { stream->skip = v_offset; stream->istream.v_offset = v_offset; } struct istream *i_stream_create_from_data(const void *data, size_t size) { struct istream_private *stream; stream = i_new(struct istream_private, 1); stream->buffer = data; stream->pos = size; stream->read = _read; stream->seek = _seek; stream->istream.blocking = TRUE; stream->istream.seekable = TRUE; (void)i_stream_create(stream, -1, 0); stream->statbuf.st_size = size; return &stream->istream; }