libdisplay-info/include/memory-stream.h

33 lines
542 B
C
Raw Normal View History

#ifndef MEMORY_STREAM_H
#define MEMORY_STREAM_H
/**
* Utility functions for memory streams.
*/
#include <stdio.h>
#include <stddef.h>
#include <stdbool.h>
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