summaryrefslogtreecommitdiff
path: root/src/ucl_internal.h
diff options
context:
space:
mode:
authorMuhammad Moinur Rahman <bofh@FreeBSD.org>2026-01-07 19:19:44 +0100
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2026-01-07 19:19:44 +0100
commit1dd83cf7e527ff29d734f6a2c8f9b61d39b41d94 (patch)
treeda5185757a055488bdc9cbb7d17077a8f36596a9 /src/ucl_internal.h
parent1e2f270469c61337ef7f5f92ab93f691e5d86492 (diff)
Diffstat (limited to 'src/ucl_internal.h')
-rw-r--r--src/ucl_internal.h211
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_ */