From 9df5b01201498081e20bf85a3b80d85f88a0161f Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Mon, 18 Nov 2024 19:36:11 +0100 Subject: Update format --- src/format.h | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) (limited to 'src/format.h') 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); -- cgit v1.2.3