X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fcommon%2Fparse_file.h;fp=src%2Fcommon%2Fparse_file.h;h=7d7cfbda195ebab3b31436f82edf74db90575f56;hb=891ba8fbca53d920f6b3704827fa6b8aee737de4;hp=4192dac046ee7190a8976e3253fe5b5b2f25f6fc;hpb=997edd45d2002dc021d1d74a12473e6055a82a75;p=plomrogue diff --git a/src/common/parse_file.h b/src/common/parse_file.h index 4192dac..7d7cfbd 100644 --- a/src/common/parse_file.h +++ b/src/common/parse_file.h @@ -1,36 +1,23 @@ /* src/common/parse_file.h * - * Tools for parsing config files. + * Tools for parsing files. */ #ifndef PARSE_FILE_H #define PARSE_FILE_H -#include /* size_t */ #include /* uint8_t */ -enum parse_flags -{ - EDIT_STARTED = 0x01 -}; - - - -/* Parse file at "path" by passing each line's first two tokens to - * "token_to_entry". Ignore empty lines. Non-empty lines must feature at least - * two tokens as delimited either be whitespace or single quotes (to allow for - * tokens featuring whitespaces). When EOF is reached, token_to_entry() is - * called a last time with a first token of NULL. - */ -extern void parse_file(char * path, void ( *token_to_entry) (char *, char *)); - /* Set err_line() options: "intro" message, char array used to store analyzed - * lines ("line"), line start "count", whether to "exit" on error message. + * lines ("line"), and whether to "exit" on error message. */ -extern void set_err_line_options(char * intro, char * line, uint32_t count, - uint8_t exit); +extern void set_err_line_options(char * intro, char * line, uint8_t exit); + +/* Increment and reset (to zero) err_line() line counter. */ +extern void err_line_inc(); +extern void err_line_zero(); /* If "test", output "msg", faulty line, its number and exit if so defined by * set_err_line_options(), else return 1 on "test" and 0 if "test" is 0. @@ -56,21 +43,6 @@ extern uint8_t parsetest_int(char * string, char type); /* Test for "string" to be of length 1 (excluding "\0"). Return 1 on failure. */ extern uint8_t parsetest_singlechar(char * string); -/* Calls err_line() with fitting message if EDIT_STARTED not set in "flags". */ -extern void parsetest_defcontext(uint8_t flags); - -/* Ensure token_from_line() does not find any more tokens on the line. */ -extern void parsetest_too_many_values(); - -/* Trigger err_line() with "Unknown argument" message. */ -extern void parse_unknown_arg(); - -/* If "test"!=0 call err_line() with "Declaration of ID already used" message.*/ -extern void parse_id_uniq(int test); - -/* Set "flags"=EDIT_STARTED and return pointer to new zeroed array of "size". */ -extern char * parse_init_entry(uint8_t * flags, size_t size); - /* If "token0" fits "comparand", set "element" to value read from "token1" as * string (type: "s"), char ("c") uint8 ("8"), uint16 ("u"), uint32 ("U") or * int16 ("i"), and return 1; else 0. @@ -78,14 +50,6 @@ extern char * parse_init_entry(uint8_t * flags, size_t size); extern uint8_t parse_val(char * token0, char * token1, char * comparand, char type, char * element); -/* Wrapper to parse_val() that sets "flags" to "flags"|"set_flag" on success. */ -extern uint8_t parse_flagval(char * token0, char * token1, char * comparand, - uint8_t * flags, uint8_t set_flag, char type, - char * element); - -/* Check "ready_flag" is set in "flags", re-set "flags" to "ready_flag" only. */ -extern void parse_and_reduce_to_readyflag(uint8_t * flags, uint8_t ready_flag); - #endif