aboutsummaryrefslogtreecommitdiffstats
path: root/src/mds-kbdc/include-stack.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mds-kbdc/include-stack.c')
-rw-r--r--src/mds-kbdc/include-stack.c232
1 files changed, 118 insertions, 114 deletions
diff --git a/src/mds-kbdc/include-stack.c b/src/mds-kbdc/include-stack.c
index 18b13d7..8ba787f 100644
--- a/src/mds-kbdc/include-stack.c
+++ b/src/mds-kbdc/include-stack.c
@@ -27,27 +27,27 @@
/**
* Variable whether the latest created error is stored
*/
-static mds_kbdc_parse_error_t* error;
+static mds_kbdc_parse_error_t *error;
/**
* The `result` parameter of root procedure that requires the include-stack
*/
-static mds_kbdc_parsed_t* result;
+static mds_kbdc_parsed_t *result;
/**
* The original value of `result->pathname`
*/
-static char* original_pathname;
+static char *original_pathname;
/**
* The original value of `result->source_code`
*/
-static mds_kbdc_source_code_t* original_source_code;
+static mds_kbdc_source_code_t *original_source_code;
/**
* Stack of visited include-statements
*/
-static const mds_kbdc_tree_include_t** restrict includes = NULL;
+static const mds_kbdc_tree_include_t **restrict includes = NULL;
/**
* The number elements allocated for `includes`
@@ -62,7 +62,7 @@ size_t includes_ptr = 0;
/**
* The latest saved include-stack
*/
-static mds_kbdc_include_stack_t* latest_save = NULL;
+static mds_kbdc_include_stack_t *latest_save = NULL;
@@ -72,23 +72,23 @@ static mds_kbdc_include_stack_t* latest_save = NULL;
* @param ptr The number of “included from here”-notes
* @return Zero on success, -1 on error
*/
-int mds_kbdc_include_stack_dump(size_t ptr)
+int
+mds_kbdc_include_stack_dump(size_t ptr)
{
- char* old_pathname = result->pathname;
- mds_kbdc_source_code_t* old_source_code = result->source_code;
- while (ptr--)
- {
- result->pathname = ptr ? includes[ptr - 1]->filename : original_pathname;
- result->source_code = ptr ? includes[ptr - 1]->source_code : original_source_code;
- NEW_ERROR_WITHOUT_INCLUDES(includes[ptr], NOTE, "included from here");
- }
- result->pathname = old_pathname;
- result->source_code = old_source_code;
- return 0;
- fail:
- result->pathname = old_pathname;
- result->source_code = old_source_code;
- return -1;
+ char *old_pathname = result->pathname;
+ mds_kbdc_source_code_t *old_source_code = result->source_code;
+ while (ptr--) {
+ result->pathname = ptr ? includes[ptr - 1]->filename : original_pathname;
+ result->source_code = ptr ? includes[ptr - 1]->source_code : original_source_code;
+ NEW_ERROR_WITHOUT_INCLUDES(includes[ptr], NOTE, "included from here");
+ }
+ result->pathname = old_pathname;
+ result->source_code = old_source_code;
+ return 0;
+fail:
+ result->pathname = old_pathname;
+ result->source_code = old_source_code;
+ return -1;
}
@@ -97,11 +97,12 @@ int mds_kbdc_include_stack_dump(size_t ptr)
*
* @param result_ The `result` parameter of root procedure that requires the include-stack
*/
-void mds_kbdc_include_stack_begin(mds_kbdc_parsed_t* restrict result_)
+void
+mds_kbdc_include_stack_begin(mds_kbdc_parsed_t *restrict result_)
{
- result = result_;
- original_pathname = result_->pathname;
- original_source_code = result_->source_code;
+ result = result_;
+ original_pathname = result_->pathname;
+ original_source_code = result_->source_code;
}
@@ -109,13 +110,14 @@ void mds_kbdc_include_stack_begin(mds_kbdc_parsed_t* restrict result_)
* Mark the root of the tree as no longer being visited,
* and release clean up after the use of this module
*/
-void mds_kbdc_include_stack_end(void)
+void
+mds_kbdc_include_stack_end(void)
{
- latest_save = NULL;
- result->pathname = original_pathname;
- result->source_code = original_source_code;
- free(includes), includes = NULL;
- includes_size = includes_ptr = 0;
+ latest_save = NULL;
+ result->pathname = original_pathname;
+ result->source_code = original_source_code;
+ free(includes), includes = NULL;
+ includes_size = includes_ptr = 0;
}
@@ -128,30 +130,31 @@ void mds_kbdc_include_stack_end(void)
* is undefined on error
* @return Zero on success, -1 on error
*/
-int mds_kbdc_include_stack_push(const mds_kbdc_tree_include_t* restrict tree, void** data)
+int
+mds_kbdc_include_stack_push(const mds_kbdc_tree_include_t *restrict tree, void **data)
{
- const mds_kbdc_tree_include_t** old = NULL;
- int saved_errno;
-
- if (includes_ptr == includes_size)
- fail_if (xxrealloc(old, includes, includes_size += 4, const mds_kbdc_tree_include_t*));
-
- fail_if (xmalloc(*data, 3, void*));
-
- ((char**)(*data))[0] = result->pathname;
- ((mds_kbdc_source_code_t**)(*data))[1] = result->source_code;
- ((mds_kbdc_include_stack_t**)(*data))[2] = latest_save;
-
- includes[includes_ptr++] = tree;
- result->pathname = tree->filename;
- result->source_code = tree->source_code;
- latest_save = NULL;
-
- return 0;
- fail:
- saved_errno = errno;
- free(old);
- return errno = saved_errno, -1;
+ const mds_kbdc_tree_include_t **old = NULL;
+ int saved_errno;
+
+ if (includes_ptr == includes_size)
+ fail_if (xxrealloc(old, includes, includes_size += 4, const mds_kbdc_tree_include_t*));
+
+ fail_if (xmalloc(*data, 3, void*));
+
+ ((char **)(*data))[0] = result->pathname;
+ ((mds_kbdc_source_code_t **)(*data))[1] = result->source_code;
+ ((mds_kbdc_include_stack_t **)(*data))[2] = latest_save;
+
+ includes[includes_ptr++] = tree;
+ result->pathname = tree->filename;
+ result->source_code = tree->source_code;
+ latest_save = NULL;
+
+ return 0;
+fail:
+ saved_errno = errno;
+ free(old);
+ return errno = saved_errno, -1;
}
@@ -162,15 +165,16 @@ int mds_kbdc_include_stack_push(const mds_kbdc_tree_include_t* restrict tree, vo
*
* @param data `*data` from `mds_kbdc_include_stack_push`
*/
-void mds_kbdc_include_stack_pop(void* data)
+void
+mds_kbdc_include_stack_pop(void *data)
{
- int saved_errno = errno;
- result->pathname = ((char**)data)[0];
- result->source_code = ((mds_kbdc_source_code_t**)data)[1];
- latest_save = ((mds_kbdc_include_stack_t**)data)[2];
- includes_ptr--;
- free(data);
- errno = saved_errno;
+ int saved_errno = errno;
+ result->pathname = ((char **)data)[0];
+ result->source_code = ((mds_kbdc_source_code_t **)data)[1];
+ latest_save = ((mds_kbdc_include_stack_t **)data)[2];
+ includes_ptr--;
+ free(data);
+ errno = saved_errno;
}
@@ -179,34 +183,34 @@ void mds_kbdc_include_stack_pop(void* data)
*
* @return The include-stack, `NULL` on error
*/
-mds_kbdc_include_stack_t* mds_kbdc_include_stack_save(void)
+mds_kbdc_include_stack_t *
+mds_kbdc_include_stack_save(void)
{
- int saved_errno;
-
- if (latest_save)
- {
- latest_save->duplicates++;
- return latest_save;
- }
-
- fail_if (xmalloc(latest_save, 1, mds_kbdc_include_stack_t));
-
- latest_save->stack = NULL;
- latest_save->ptr = includes_ptr;
- latest_save->duplicates = 0;
-
- if (latest_save->ptr == 0)
- return latest_save;
-
- fail_if (xmemdup(latest_save->stack, includes, latest_save->ptr, const mds_kbdc_tree_include_t*));
-
- return latest_save;
- fail:
- saved_errno = errno;
- if (latest_save)
- free(latest_save->stack), latest_save = NULL;
- errno = saved_errno;
- return NULL;
+ int saved_errno;
+
+ if (latest_save) {
+ latest_save->duplicates++;
+ return latest_save;
+ }
+
+ fail_if (xmalloc(latest_save, 1, mds_kbdc_include_stack_t));
+
+ latest_save->stack = NULL;
+ latest_save->ptr = includes_ptr;
+ latest_save->duplicates = 0;
+
+ if (!latest_save->ptr)
+ return latest_save;
+
+ fail_if (xmemdup(latest_save->stack, includes, latest_save->ptr, const mds_kbdc_tree_include_t*));
+
+ return latest_save;
+fail:
+ saved_errno = errno;
+ if (latest_save)
+ free(latest_save->stack), latest_save = NULL;
+ errno = saved_errno;
+ return NULL;
}
@@ -216,23 +220,23 @@ mds_kbdc_include_stack_t* mds_kbdc_include_stack_save(void)
* @param stack The include-stack
* @return Zero on success, -1 on error
*/
-int mds_kbdc_include_stack_restore(mds_kbdc_include_stack_t* restrict stack)
+int
+mds_kbdc_include_stack_restore(mds_kbdc_include_stack_t *restrict stack)
{
- const mds_kbdc_tree_include_t** tmp;
-
- latest_save = stack;
-
- if (stack->ptr > includes_size)
- {
- fail_if (yrealloc(tmp, includes, stack->ptr, const mds_kbdc_tree_include_t*));
- includes_size = stack->ptr;
- }
-
- memcpy(includes, stack->stack, stack->ptr * sizeof(const mds_kbdc_tree_include_t*));
- includes_ptr = stack->ptr;
- return 0;
- fail:
- return -1;
+ const mds_kbdc_tree_include_t **tmp;
+
+ latest_save = stack;
+
+ if (stack->ptr > includes_size) {
+ fail_if (yrealloc(tmp, includes, stack->ptr, const mds_kbdc_tree_include_t *));
+ includes_size = stack->ptr;
+ }
+
+ memcpy(includes, stack->stack, stack->ptr * sizeof(const mds_kbdc_tree_include_t *));
+ includes_ptr = stack->ptr;
+ return 0;
+fail:
+ return -1;
}
@@ -241,13 +245,13 @@ int mds_kbdc_include_stack_restore(mds_kbdc_include_stack_t* restrict stack)
*
* @param stack The include-stack
*/
-void mds_kbdc_include_stack_free(mds_kbdc_include_stack_t* restrict stack)
+void
+mds_kbdc_include_stack_free(mds_kbdc_include_stack_t *restrict stack)
{
- if ((stack == NULL) || (stack->duplicates--))
- return;
- free(stack->stack);
- free(stack);
- if (latest_save == stack)
- latest_save = NULL;
+ if (!stack || stack->duplicates--)
+ return;
+ free(stack->stack);
+ free(stack);
+ if (latest_save == stack)
+ latest_save = NULL;
}
-