diff options
| author | Muhammad Moinur Rahman <bofh@FreeBSD.org> | 2026-01-07 19:19:44 +0100 |
|---|---|---|
| committer | Muhammad Moinur Rahman <bofh@FreeBSD.org> | 2026-01-07 19:19:44 +0100 |
| commit | 1dd83cf7e527ff29d734f6a2c8f9b61d39b41d94 (patch) | |
| tree | da5185757a055488bdc9cbb7d17077a8f36596a9 /src/ucl_internal.h | |
| parent | 1e2f270469c61337ef7f5f92ab93f691e5d86492 (diff) | |
Import libucl 0.9.3vendor/libucl/0.9.3vendor/libucl
Diffstat (limited to 'src/ucl_internal.h')
| -rw-r--r-- | src/ucl_internal.h | 211 |
1 files changed, 106 insertions, 105 deletions
diff --git a/src/ucl_internal.h b/src/ucl_internal.h index 2c5fdf84fee7..5d58ddc486f5 100644 --- a/src/ucl_internal.h +++ b/src/ucl_internal.h @@ -46,7 +46,7 @@ #define HAVE_STDINT_H #define HAVE_STDARG_H #ifndef _WIN32 -# define HAVE_REGEX_H +#define HAVE_REGEX_H #endif #endif @@ -55,17 +55,17 @@ #endif #ifdef HAVE_SYS_MMAN_H -# ifndef _WIN32 -# include <sys/mman.h> -# endif +#ifndef _WIN32 +#include <sys/mman.h> +#endif #endif #ifdef HAVE_SYS_STAT_H #include <sys/stat.h> #endif #ifdef HAVE_SYS_PARAM_H -# ifndef _WIN32 -# include <sys/param.h> -# endif +#ifndef _WIN32 +#include <sys/param.h> +#endif #endif #ifdef HAVE_LIMITS_H @@ -78,9 +78,9 @@ #include <errno.h> #endif #ifdef HAVE_UNISTD_H -# ifndef _WIN32 -# include <unistd.h> -# endif +#ifndef _WIN32 +#include <unistd.h> +#endif #endif #ifdef HAVE_CTYPE_H #include <ctype.h> @@ -132,7 +132,7 @@ typedef SSIZE_T ssize_t; #endif #ifndef __DECONST -#define __DECONST(type, var) ((type)(uintptr_t)(const void *)(var)) +#define __DECONST(type, var) ((type) (uintptr_t) (const void *) (var)) #endif /** @@ -182,14 +182,15 @@ struct ucl_macro { ucl_macro_handler handler; ucl_context_macro_handler context_handler; } h; - void* ud; + void *ud; bool is_context; UT_hash_handle hh; }; enum ucl_stack_flags { UCL_STACK_HAS_OBRACE = (1u << 0), - UCL_STACK_MAX = (1u << 1), + UCL_STACK_AUTOMATIC = (1u << 1), + UCL_STACK_MAX = (1u << 2), }; struct ucl_stack { @@ -284,14 +285,14 @@ struct ucl_object_userdata { * Unescape json string inplace * @param str */ -size_t ucl_unescape_json_string (char *str, size_t len); +size_t ucl_unescape_json_string(char *str, size_t len); /** * Unescape single quoted string inplace * @param str */ -size_t ucl_unescape_squoted_string (char *str, size_t len); +size_t ucl_unescape_squoted_string(char *str, size_t len); /** * Handle include macro @@ -301,8 +302,8 @@ size_t ucl_unescape_squoted_string (char *str, size_t len); * @param ud user data * @return */ -bool ucl_include_handler (const unsigned char *data, size_t len, - const ucl_object_t *args, void* ud); +bool ucl_include_handler(const unsigned char *data, size_t len, + const ucl_object_t *args, void *ud); /** * Handle tryinclude macro @@ -312,8 +313,8 @@ bool ucl_include_handler (const unsigned char *data, size_t len, * @param ud user data * @return */ -bool ucl_try_include_handler (const unsigned char *data, size_t len, - const ucl_object_t *args, void* ud); +bool ucl_try_include_handler(const unsigned char *data, size_t len, + const ucl_object_t *args, void *ud); /** * Handle includes macro @@ -323,8 +324,8 @@ bool ucl_try_include_handler (const unsigned char *data, size_t len, * @param ud user data * @return */ -bool ucl_includes_handler (const unsigned char *data, size_t len, - const ucl_object_t *args, void* ud); +bool ucl_includes_handler(const unsigned char *data, size_t len, + const ucl_object_t *args, void *ud); /** * Handle priority macro @@ -334,8 +335,8 @@ bool ucl_includes_handler (const unsigned char *data, size_t len, * @param ud user data * @return */ -bool ucl_priority_handler (const unsigned char *data, size_t len, - const ucl_object_t *args, void* ud); +bool ucl_priority_handler(const unsigned char *data, size_t len, + const ucl_object_t *args, void *ud); /** * Handle load macro @@ -345,8 +346,8 @@ bool ucl_priority_handler (const unsigned char *data, size_t len, * @param ud user data * @return */ -bool ucl_load_handler (const unsigned char *data, size_t len, - const ucl_object_t *args, void* ud); +bool ucl_load_handler(const unsigned char *data, size_t len, + const ucl_object_t *args, void *ud); /** * Handle inherit macro * @param data include data @@ -356,37 +357,37 @@ bool ucl_load_handler (const unsigned char *data, size_t len, * @param ud user data * @return */ -bool ucl_inherit_handler (const unsigned char *data, size_t len, - const ucl_object_t *args, const ucl_object_t *ctx, void* ud); +bool ucl_inherit_handler(const unsigned char *data, size_t len, + const ucl_object_t *args, const ucl_object_t *ctx, void *ud); -size_t ucl_strlcpy (char *dst, const char *src, size_t siz); -size_t ucl_strlcpy_unsafe (char *dst, const char *src, size_t siz); -size_t ucl_strlcpy_tolower (char *dst, const char *src, size_t siz); +size_t ucl_strlcpy(char *dst, const char *src, size_t siz); +size_t ucl_strlcpy_unsafe(char *dst, const char *src, size_t siz); +size_t ucl_strlcpy_tolower(char *dst, const char *src, size_t siz); -char *ucl_strnstr (const char *s, const char *find, int len); -char *ucl_strncasestr (const char *s, const char *find, int len); +char *ucl_strnstr(const char *s, const char *find, int len); +char *ucl_strncasestr(const char *s, const char *find, int len); #ifdef __GNUC__ static inline void -ucl_create_err (UT_string **err, const char *fmt, ...) -__attribute__ (( format( printf, 2, 3) )); +ucl_create_err(UT_string **err, const char *fmt, ...) + __attribute__((format(printf, 2, 3))); #endif #undef UCL_FATAL_ERRORS static inline void -ucl_create_err (UT_string **err, const char *fmt, ...) +ucl_create_err(UT_string **err, const char *fmt, ...) { if (*err == NULL) { - utstring_new (*err); + utstring_new(*err); va_list ap; - va_start (ap, fmt); - utstring_printf_va (*err, fmt, ap); - va_end (ap); + va_start(ap, fmt); + utstring_printf_va(*err, fmt, ap); + va_end(ap); } #ifdef UCL_FATAL_ERRORS - assert (0); + assert(0); #endif } @@ -398,39 +399,39 @@ ucl_create_err (UT_string **err, const char *fmt, ...) * @return true if a string is a boolean value */ static inline bool -ucl_maybe_parse_boolean (ucl_object_t *obj, const unsigned char *start, size_t len) +ucl_maybe_parse_boolean(ucl_object_t *obj, const unsigned char *start, size_t len) { - const char *p = (const char *)start; + const char *p = (const char *) start; bool ret = false, val = false; if (len == 5) { - if ((p[0] == 'f' || p[0] == 'F') && strncasecmp (p, "false", 5) == 0) { + if ((p[0] == 'f' || p[0] == 'F') && strncasecmp(p, "false", 5) == 0) { ret = true; val = false; } } else if (len == 4) { - if ((p[0] == 't' || p[0] == 'T') && strncasecmp (p, "true", 4) == 0) { + if ((p[0] == 't' || p[0] == 'T') && strncasecmp(p, "true", 4) == 0) { ret = true; val = true; } } else if (len == 3) { - if ((p[0] == 'y' || p[0] == 'Y') && strncasecmp (p, "yes", 3) == 0) { + if ((p[0] == 'y' || p[0] == 'Y') && strncasecmp(p, "yes", 3) == 0) { ret = true; val = true; } - else if ((p[0] == 'o' || p[0] == 'O') && strncasecmp (p, "off", 3) == 0) { + else if ((p[0] == 'o' || p[0] == 'O') && strncasecmp(p, "off", 3) == 0) { ret = true; val = false; } } else if (len == 2) { - if ((p[0] == 'n' || p[0] == 'N') && strncasecmp (p, "no", 2) == 0) { + if ((p[0] == 'n' || p[0] == 'N') && strncasecmp(p, "no", 2) == 0) { ret = true; val = false; } - else if ((p[0] == 'o' || p[0] == 'O') && strncasecmp (p, "on", 2) == 0) { + else if ((p[0] == 'o' || p[0] == 'O') && strncasecmp(p, "on", 2) == 0) { ret = true; val = true; } @@ -453,37 +454,38 @@ ucl_maybe_parse_boolean (ucl_object_t *obj, const unsigned char *start, size_t l * @param allow_double allow parsing of floating point values * @return 0 if string is numeric and error code (EINVAL or ERANGE) in case of conversion error */ -int ucl_maybe_parse_number (ucl_object_t *obj, - const char *start, const char *end, const char **pos, - bool allow_double, bool number_bytes, bool allow_time); +int ucl_maybe_parse_number(ucl_object_t *obj, + const char *start, const char *end, const char **pos, + bool allow_double, bool number_bytes, bool allow_time); static inline const ucl_object_t * -ucl_hash_search_obj (ucl_hash_t* hashlin, ucl_object_t *obj) +ucl_hash_search_obj(ucl_hash_t *hashlin, ucl_object_t *obj) { - return (const ucl_object_t *)ucl_hash_search (hashlin, obj->key, obj->keylen); + return (const ucl_object_t *) ucl_hash_search(hashlin, obj->key, obj->keylen); } -static inline ucl_hash_t * ucl_hash_insert_object (ucl_hash_t *hashlin, - const ucl_object_t *obj, - bool ignore_case) UCL_WARN_UNUSED_RESULT; +static inline ucl_hash_t *ucl_hash_insert_object(ucl_hash_t *hashlin, + const ucl_object_t *obj, + bool ignore_case) UCL_WARN_UNUSED_RESULT; static inline ucl_hash_t * -ucl_hash_insert_object (ucl_hash_t *hashlin, - const ucl_object_t *obj, - bool ignore_case) +ucl_hash_insert_object(ucl_hash_t *hashlin, + const ucl_object_t *obj, + bool ignore_case) { ucl_hash_t *nhp; if (hashlin == NULL) { - nhp = ucl_hash_create (ignore_case); + nhp = ucl_hash_create(ignore_case); if (nhp == NULL) { return NULL; } - } else { + } + else { nhp = hashlin; } - if (!ucl_hash_insert (nhp, obj, obj->key, obj->keylen)) { + if (!ucl_hash_insert(nhp, obj, obj->key, obj->keylen)) { if (nhp != hashlin) { ucl_hash_destroy(nhp, NULL); } @@ -499,15 +501,15 @@ ucl_hash_insert_object (ucl_hash_t *hashlin, * @return context or NULL if input is invalid */ const struct ucl_emitter_context * -ucl_emit_get_standard_context (enum ucl_emitter emit_type); +ucl_emit_get_standard_context(enum ucl_emitter emit_type); /** * Serialize string as JSON string * @param str string to emit * @param buf target buffer */ -void ucl_elt_string_write_json (const char *str, size_t size, - struct ucl_emitter_context *ctx); +void ucl_elt_string_write_json(const char *str, size_t size, + struct ucl_emitter_context *ctx); /** @@ -515,9 +517,8 @@ void ucl_elt_string_write_json (const char *str, size_t size, * @param str string to emit * @param buf target buffer */ -void -ucl_elt_string_write_squoted (const char *str, size_t size, - struct ucl_emitter_context *ctx); +void ucl_elt_string_write_squoted(const char *str, size_t size, + struct ucl_emitter_context *ctx); /** * Write multiline string using `EOD` as string terminator @@ -525,15 +526,15 @@ ucl_elt_string_write_squoted (const char *str, size_t size, * @param size * @param ctx */ -void ucl_elt_string_write_multiline (const char *str, size_t size, - struct ucl_emitter_context *ctx); +void ucl_elt_string_write_multiline(const char *str, size_t size, + struct ucl_emitter_context *ctx); /** * Emit a single object to string * @param obj * @return */ -unsigned char * ucl_object_emit_single_json (const ucl_object_t *obj); +unsigned char *ucl_object_emit_single_json(const ucl_object_t *obj); /** * Check whether a specified string is long and should be likely printed in @@ -541,37 +542,37 @@ unsigned char * ucl_object_emit_single_json (const ucl_object_t *obj); * @param obj * @return */ -bool ucl_maybe_long_string (const ucl_object_t *obj); +bool ucl_maybe_long_string(const ucl_object_t *obj); /** * Print integer to the msgpack output * @param ctx * @param val */ -void ucl_emitter_print_int_msgpack (struct ucl_emitter_context *ctx, - int64_t val); +void ucl_emitter_print_int_msgpack(struct ucl_emitter_context *ctx, + int64_t val); /** * Print integer to the msgpack output * @param ctx * @param val */ -void ucl_emitter_print_double_msgpack (struct ucl_emitter_context *ctx, - double val); +void ucl_emitter_print_double_msgpack(struct ucl_emitter_context *ctx, + double val); /** * Print double to the msgpack output * @param ctx * @param val */ -void ucl_emitter_print_bool_msgpack (struct ucl_emitter_context *ctx, - bool val); +void ucl_emitter_print_bool_msgpack(struct ucl_emitter_context *ctx, + bool val); /** * Print string to the msgpack output * @param ctx * @param s * @param len */ -void ucl_emitter_print_string_msgpack (struct ucl_emitter_context *ctx, - const char *s, size_t len); +void ucl_emitter_print_string_msgpack(struct ucl_emitter_context *ctx, + const char *s, size_t len); /** * Print binary string to the msgpack output @@ -579,38 +580,38 @@ void ucl_emitter_print_string_msgpack (struct ucl_emitter_context *ctx, * @param s * @param len */ -void ucl_emitter_print_binary_string_msgpack (struct ucl_emitter_context *ctx, - const char *s, size_t len); +void ucl_emitter_print_binary_string_msgpack(struct ucl_emitter_context *ctx, + const char *s, size_t len); /** * Print array preamble for msgpack * @param ctx * @param len */ -void ucl_emitter_print_array_msgpack (struct ucl_emitter_context *ctx, - size_t len); +void ucl_emitter_print_array_msgpack(struct ucl_emitter_context *ctx, + size_t len); /** * Print object preamble for msgpack * @param ctx * @param len */ -void ucl_emitter_print_object_msgpack (struct ucl_emitter_context *ctx, - size_t len); +void ucl_emitter_print_object_msgpack(struct ucl_emitter_context *ctx, + size_t len); /** * Print NULL to the msgpack output * @param ctx */ -void ucl_emitter_print_null_msgpack (struct ucl_emitter_context *ctx); +void ucl_emitter_print_null_msgpack(struct ucl_emitter_context *ctx); /** * Print object's key if needed to the msgpack output * @param print_key * @param ctx * @param obj */ -void ucl_emitter_print_key_msgpack (bool print_key, - struct ucl_emitter_context *ctx, - const ucl_object_t *obj); +void ucl_emitter_print_key_msgpack(bool print_key, + struct ucl_emitter_context *ctx, + const ucl_object_t *obj); /** * Fetch URL into a buffer @@ -620,11 +621,11 @@ void ucl_emitter_print_key_msgpack (bool print_key, * @param err pointer to error argument * @param must_exist fail if cannot find a url */ -bool ucl_fetch_url (const unsigned char *url, - unsigned char **buf, - size_t *buflen, - UT_string **err, - bool must_exist); +bool ucl_fetch_url(const unsigned char *url, + unsigned char **buf, + size_t *buflen, + UT_string **err, + bool must_exist); /** * Fetch a file and save results to the memory buffer @@ -634,11 +635,11 @@ bool ucl_fetch_url (const unsigned char *url, * @param buflen target length * @return */ -bool ucl_fetch_file (const unsigned char *filename, - unsigned char **buf, - size_t *buflen, - UT_string **err, - bool must_exist); +bool ucl_fetch_file(const unsigned char *filename, + unsigned char **buf, + size_t *buflen, + UT_string **err, + bool must_exist); /** * Add new element to an object using the current merge strategy and priority @@ -646,22 +647,22 @@ bool ucl_fetch_file (const unsigned char *filename, * @param nobj * @return */ -bool ucl_parser_process_object_element (struct ucl_parser *parser, - ucl_object_t *nobj); +bool ucl_parser_process_object_element(struct ucl_parser *parser, + ucl_object_t *nobj); /** * Parse msgpack chunk * @param parser * @return */ -bool ucl_parse_msgpack (struct ucl_parser *parser); +bool ucl_parse_msgpack(struct ucl_parser *parser); -bool ucl_parse_csexp (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); +void ucl_chunk_free(struct ucl_chunk *chunk); #endif /* UCL_INTERNAL_H_ */ |
