dovecot-2.0: Added o_stream_get_buffer_avail_size().
dovecot at dovecot.org
dovecot at dovecot.org
Fri Oct 16 19:31:09 EEST 2009
details: http://hg.dovecot.org/dovecot-2.0/rev/ede6701cfe7a
changeset: 10084:ede6701cfe7a
user: Timo Sirainen <tss at iki.fi>
date: Fri Oct 16 12:30:59 2009 -0400
description:
Added o_stream_get_buffer_avail_size().
diffstat:
2 files changed, 10 insertions(+)
src/lib/ostream.c | 8 ++++++++
src/lib/ostream.h | 2 ++
diffs (30 lines):
diff -r bad043de6a7a -r ede6701cfe7a src/lib/ostream.c
--- a/src/lib/ostream.c Fri Oct 16 12:30:14 2009 -0400
+++ b/src/lib/ostream.c Fri Oct 16 12:30:59 2009 -0400
@@ -113,6 +113,14 @@ size_t o_stream_get_buffer_used_size(con
return _stream->get_used_size == NULL ? 0 :
_stream->get_used_size(_stream);
+}
+
+size_t o_stream_get_buffer_avail_size(const struct ostream *stream)
+{
+ size_t used = o_stream_get_buffer_used_size(stream);
+
+ return stream->real_stream->max_buffer_size <= used ? 0 :
+ stream->real_stream->max_buffer_size - used;
}
int o_stream_seek(struct ostream *stream, uoff_t offset)
diff -r bad043de6a7a -r ede6701cfe7a src/lib/ostream.h
--- a/src/lib/ostream.h Fri Oct 16 12:30:14 2009 -0400
+++ b/src/lib/ostream.h Fri Oct 16 12:30:59 2009 -0400
@@ -72,6 +72,8 @@ void o_stream_set_flush_pending(struct o
void o_stream_set_flush_pending(struct ostream *stream, bool set);
/* Returns number of bytes currently in buffer. */
size_t o_stream_get_buffer_used_size(const struct ostream *stream) ATTR_PURE;
+/* Returns number of bytes we can still write without failing. */
+size_t o_stream_get_buffer_avail_size(const struct ostream *stream) ATTR_PURE;
/* Seek to specified position from beginning of file. This works only for
files. Returns 1 if successful, -1 if error. */
More information about the dovecot-cvs
mailing list