Lines Matching refs:memstream
29 #include "memstream.h"
32 memstream_init(struct memstream *memstream)
35 memstream->stream = open_memstream(&memstream->buf,
36 &memstream->size);
38 memstream->stream = tmpfile();
39 memstream->buf = NULL;
41 return memstream->stream != NULL ? 0 : -1;
45 memstream_close(struct memstream *memstream)
48 if (fseek(memstream->stream, 0, SEEK_END) < 0) {
50 fclose(memstream->stream);
53 memstream->size = ftell(memstream->stream);
54 if (memstream->size == (size_t)-1)
56 memstream->buf = malloc(memstream->size);
57 if (memstream->buf == NULL)
60 rewind(memstream->stream);
61 if (fread(memstream->buf, 1, memstream->size, memstream->stream)
62 < memstream->size)
66 return fclose(memstream->stream) == 0 ? 0 : -1;
70 memstream_destroy(struct memstream *memstream)
72 free(memstream->buf);