aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libucl/ucl_internal.h
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2018-05-05 14:58:37 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2018-05-05 14:58:37 +0100
commita3191bd7b34d3373d151827a6e6592ea82084747 (patch)
treeab4ecb6c138e1a21cb76aeaf4503d04a253568ae /contrib/libucl/ucl_internal.h
parent91154ccc0114f1dca3b803a9c9bcfd065297c329 (diff)
downloadrspamd-a3191bd7b34d3373d151827a6e6592ea82084747.tar.gz
rspamd-a3191bd7b34d3373d151827a6e6592ea82084747.zip
[Feture] Allow external preprocessors in libucl
Diffstat (limited to 'contrib/libucl/ucl_internal.h')
-rw-r--r--contrib/libucl/ucl_internal.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/contrib/libucl/ucl_internal.h b/contrib/libucl/ucl_internal.h
index d60581037..4ddc713b5 100644
--- a/contrib/libucl/ucl_internal.h
+++ b/contrib/libucl/ucl_internal.h
@@ -176,7 +176,7 @@ enum ucl_character_type {
struct ucl_macro {
char *name;
- union {
+ union _ucl_macro {
ucl_macro_handler handler;
ucl_context_macro_handler context_handler;
} h;
@@ -201,6 +201,7 @@ struct ucl_chunk {
unsigned priority;
enum ucl_duplicate_strategy strategy;
enum ucl_parse_type parse_type;
+ struct ucl_parser_special_handler *special_handler;
struct ucl_chunk *next;
};
@@ -239,6 +240,7 @@ struct ucl_parser {
struct ucl_stack *stack;
struct ucl_chunk *chunks;
struct ucl_pubkey *keys;
+ struct ucl_parser_special_handler *special_handlers;
struct ucl_variable *variables;
ucl_variable_handler var_handler;
void *var_data;
@@ -619,4 +621,10 @@ bool ucl_parse_msgpack (struct ucl_parser *parser);
bool ucl_parse_csexp (struct ucl_parser *parser);
+/**
+ * Free ucl chunk
+ * @param chunk
+ */
+void ucl_chunk_free (struct ucl_chunk *chunk);
+
#endif /* UCL_INTERNAL_H_ */