34 lines
723 B
C
34 lines
723 B
C
#ifndef __BUFFER_H__
|
|
#define __BUFFER_H__
|
|
|
|
#include <stdlib.h>
|
|
|
|
#define ARRAY_SIZE(arr) (sizeof((arr)) / sizeof((arr)[0]))
|
|
|
|
typedef struct {
|
|
char* data;
|
|
size_t size;
|
|
size_t capacity;
|
|
} Buffer;
|
|
|
|
typedef struct {
|
|
Buffer** lines;
|
|
size_t size;
|
|
size_t capacity;
|
|
} Lines;
|
|
|
|
Buffer* buffer_create(size_t capacity);
|
|
void buffer_append(Buffer* buffer, const char* str);
|
|
void buffer_append_c(Buffer* buffer, char c);
|
|
void buffer_flush(Buffer* buffer);
|
|
void buffer_free(Buffer* buffer);
|
|
|
|
Lines* lines_create(size_t capacity);
|
|
Lines* read_file_lines(const char* file_path);
|
|
void lines_append(Lines* lines, Buffer* buffer);
|
|
void lines_flush(Lines* lines);
|
|
void lines_free(Lines* lines);
|
|
|
|
|
|
#endif /*__BUFFER_H__*/
|