diff options
Diffstat (limited to 'src/format.h')
| -rw-r--r-- | src/format.h | 28 |
1 files changed, 5 insertions, 23 deletions
diff --git a/src/format.h b/src/format.h index bceff0c..69d9fa8 100644 --- a/src/format.h +++ b/src/format.h @@ -6,36 +6,18 @@ typedef struct { char **parts; + uint8_t *marks; size_t length; } format_t; -typedef enum { - FORMAT_SUCCESS, - FORMAT_NESTED, - FORMAT_UNKNOWN, - FORMAT_UNTERMINATED, -} format_status_t; - -typedef enum { - FORMAT_NONE, - FORMAT_STRING, - FORMAT_BYTE, - FORMAT_FUNCTION, -} format_action_t; - -typedef char *(*format_function_t)(const char *key); - typedef struct { - format_action_t action; const char *key; - union { - const char *value; - uint8_t byte; - format_function_t fn; - }; + uint8_t mark; } format_pair_t; -format_status_t format_init(format_t *format, const char *string, char delim, const format_pair_t *pairs); +bool format_init(format_t *format, const char *string, char delim); + +bool format_remark(format_t *format, const char *label, const format_pair_t *pairs); void format_free(format_t *format); |
