diff options
Diffstat (limited to 'stream/stream_memory.c')
-rw-r--r-- | stream/stream_memory.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/stream/stream_memory.c b/stream/stream_memory.c index ff2b42e020..df01d2956e 100644 --- a/stream/stream_memory.c +++ b/stream/stream_memory.c @@ -43,11 +43,13 @@ static int control(stream_t *s, int cmd, void *arg) { struct priv *p = s->priv; switch(cmd) { + case STREAM_CTRL_GET_SIZE: + *(int64_t *)arg = p->data.len; + return 1; case STREAM_CTRL_SET_CONTENTS: ; bstr *data = (bstr *)arg; talloc_free(p->data.start); p->data = bstrdup(s, *data); - s->end_pos = p->data.len; return 1; } return STREAM_UNSUPPORTED; @@ -57,6 +59,7 @@ static int open_f(stream_t *stream, int mode) { stream->fill_buffer = fill_buffer; stream->seek = seek; + stream->seekable = true; stream->control = control; stream->read_chunk = 1024 * 1024; |