]> Kevux Git Server - fll/commit
Update: memory changes, memory bugfixes, and minor controller program fixes.
authorKevin Day <thekevinday@gmail.com>
Thu, 3 Dec 2020 01:01:29 +0000 (19:01 -0600)
committerKevin Day <thekevinday@gmail.com>
Thu, 3 Dec 2020 02:46:03 +0000 (20:46 -0600)
commitf1b8c3662cdf3aa657cfb8096b4d56f42de967f7
tree0ee7098313de2a24931c3aa6b9141833dbc5a48d
parente4526da2445454202d3db38c2de804c212d13fe7
Update: memory changes, memory bugfixes, and minor controller program fixes.

Do some minor cleanup with the allocation functions.

The *_delete_simple() and *_destroy_simple() macros need to always set size to 0, because they are always ignoring the return status.
Also move the relating check outside of the for loop for performance reasons.

Minor cleanups in memory functions.

Add additional parameter checks to the memory create functions.
Add additional size and length checks in the memory delete and destroy functions.

Fix bug in f_macro_memory_structure_macro_increment() where if condition is obviously wrong (two '>' checks are used against each other!).

Change behavior to increment against "used" instead of "size", more consistently.

Rewrite the *_increase() and *_increase_by() functions due to bugs and inconsistencies.
Only use variables when needed for performance and resource reasons.
Get rid of the F_array_too_large on success behavior as the current design doesn't handle the cases where both F_array_too_large and an error occurs afterwards.

Fix mistake in controller program where I forgot to actually set the allocated sizes.

Use counter instead of pointer for entry item in controller program.
In some cases, use fl_string_dynamic_terminate_after() instead of fl_string_dynamic_terminate() (there will likely be more of these changes).
18 files changed:
level_0/f_fss/c/fss_named.h
level_0/f_fss/c/fss_nest.h
level_0/f_fss/c/fss_set.h
level_0/f_memory/c/memory.c
level_0/f_memory/c/memory.h
level_0/f_memory/c/memory_structure.h
level_0/f_string/c/string_dynamic.h
level_0/f_string/c/string_map.h
level_1/fl_fss/c/private-fss.c
level_1/fl_fss/c/private-fss.h
level_1/fl_string/c/private-string.c
level_1/fl_string/c/string.c
level_1/fl_string/c/string.h
level_3/controller/c/private-controller.h
level_3/controller/c/private-entry.c
level_3/controller/c/private-entry.h
level_3/controller/c/private-rule.c
level_3/controller/c/private-rule.h