#ifndef MEMORY_STREAM_H #define MEMORY_STREAM_H /** * Utility functions for memory streams. */ #include #include #include struct memory_stream { FILE *fp; char *str; size_t str_len; }; bool memory_stream_open(struct memory_stream *m); char * memory_stream_close(struct memory_stream *m); /** * A small cleanup helper that simply * calls free(memory_stream_close(m)) to avoid * any dangling string pointers in cleanup/error paths. */ void memory_stream_cleanup(struct memory_stream *m); #endif