/* This file is Copyright (C) 2019 Jason Pepas. */ /* This file is released under the terms of the MIT License. */ /* See https://opensource.org/licenses/MIT */ #ifndef _READ_H_ #define _READ_H_ #include "forms.h" #include <stdio.h> /* A line-oriented FILE* buffer. */ struct FBuff_ { FILE* fp; char* buffp; size_t size; size_t len; char* nextp; }; typedef struct FBuff_ FBuff; int new_fbuff(FBuff** fbpp, FILE* fp); void free_fbuff(FBuff* fbp); bool is_fbuff_eol(FBuff* fbp); void fbuff_skip_buffered_ws(FBuff* fbp); int read_form(FBuff* fbp, Form** formpp); #endif