summaryrefslogtreecommitdiffstats
path: root/stream/stream_memory.c
diff options
context:
space:
mode:
Diffstat (limited to 'stream/stream_memory.c')
-rw-r--r--stream/stream_memory.c5
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;