From 47a5abd3ce92592c87f86d0cf33f57fff687c246 Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Thu, 28 Jul 2022 19:24:22 -0300 Subject: keyword: Make `keyword_cb`, and `set_keyword()` return an `int` `set_keyword()` now checks the return value of the callback to determine whether to return early, fallback to the default, or return an error if the callback returns true, false, and -1 respectivly. --- keyword.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'keyword.h') diff --git a/keyword.h b/keyword.h index b4f4fa2..fa667a2 100644 --- a/keyword.h +++ b/keyword.h @@ -6,7 +6,7 @@ typedef enum keyword_type keyword_type; typedef struct keyword keyword; typedef union keyword_val keyword_val; -typedef void (keyword_cb)(void *ctx, void *ret, const keyword *key, keyword_val val); +typedef int (keyword_cb)(void *ctx, void *ret, const keyword *key, keyword_val val); enum keyword_type { TYPE_NONE, @@ -35,7 +35,7 @@ union keyword_val { }; extern keyword_val get_keyword_value(const keyword *key, char *value, int *error); -extern void set_keyword(const keyword *key, keyword_val val, void *ret, void *ctx); +extern int set_keyword(const keyword *key, keyword_val val, void *ret, void *ctx); extern keyword_val parse_keyword(const keyword *key, char *key_str, char *value, int *error); extern int parse_keywords(const keyword **keys, char *key, char *value, void *ret, void *ctx); #endif -- cgit v1.2.3-13-gbd6f