]> Kevux Git Server - fll/commit
Feature: Add f_abstruse project.
authorKevin Day <thekevinday@gmail.com>
Wed, 4 Oct 2023 02:00:19 +0000 (21:00 -0500)
committerKevin Day <thekevinday@gmail.com>
Wed, 4 Oct 2023 02:00:19 +0000 (21:00 -0500)
commit5308fa7db61a978e52fc848155fecfc467ed4651
tree55c39d9c2f1ddd7cf2ba61e93cc9220180cc881d
parent9e18b3291e6e7351a27b90eb971ed71d34e34db8
Feature: Add f_abstruse project.

This is the initial design and may be subject to significant change as I begin to use it more.

The idea here is to provide a type that can act as a catch all for any sort of header of any specific type.
I use standard types and provide void pointer types for everything else.

I have some concerns about supporting void pointer types due to the special case of how to handle this allocation actions.
I have decided to withhold the "append" and similar standard functions for now until I get a better grasp on how this should be used.

A union is used to use the same memory space at the cost of the largest size.

A dynamic string is likely the most common case.

The resize and similar functions provide warnings that the caller needs to be careful about allocation and de-allocation.
This poses extra security concerns for when callers of these functions do not properly or safely handle the data.

I intend to use this in the FSS Simple Packet processing code, such as writing (building) the Simple Packet string.
47 files changed:
build/disable/about.txt
build/level_0/settings
build/monolithic/settings
build/scripts/bootstrap-example.sh
build/stand_alone/byte_dump.config.h
build/stand_alone/fake.config.h
build/stand_alone/fake.settings
build/stand_alone/firewall.config.h
build/stand_alone/utf8.config.h
level_0/f_abstruse/c/abstruse.c [new file with mode: 0644]
level_0/f_abstruse/c/abstruse.h [new file with mode: 0644]
level_0/f_abstruse/c/abstruse/abstruse.c [new file with mode: 0644]
level_0/f_abstruse/c/abstruse/abstruse.h [new file with mode: 0644]
level_0/f_abstruse/c/abstruse/enum.h [new file with mode: 0644]
level_0/f_abstruse/c/abstruse/map.c [new file with mode: 0644]
level_0/f_abstruse/c/abstruse/map.h [new file with mode: 0644]
level_0/f_abstruse/c/abstruse/private-abstruse.c [new file with mode: 0644]
level_0/f_abstruse/c/abstruse/private-abstruse.h [new file with mode: 0644]
level_0/f_abstruse/c/abstruse/type.h [new file with mode: 0644]
level_0/f_abstruse/data/build/defines [new file with mode: 0644]
level_0/f_abstruse/data/build/dependencies [new file with mode: 0644]
level_0/f_abstruse/data/build/dependencies-tests [new file with mode: 0644]
level_0/f_abstruse/data/build/fakefile [new file with mode: 0644]
level_0/f_abstruse/data/build/settings [new file with mode: 0644]
level_0/f_abstruse/data/build/settings-mocks [new file with mode: 0644]
level_0/f_abstruse/data/build/settings-tests [new file with mode: 0644]
level_0/f_abstruse/data/build/testfile [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/mock-abstruse.c [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/mock-abstruse.h [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-maps_delete_callback.c [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-maps_delete_callback.h [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-maps_destroy_callback.c [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-maps_destroy_callback.h [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-mapss_delete_callback.c [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-mapss_delete_callback.h [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-mapss_destroy_callback.c [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-mapss_destroy_callback.h [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-s_delete_callback.c [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-s_delete_callback.h [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-s_destroy_callback.c [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-s_destroy_callback.h [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-ss_delete_callback.c [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-ss_delete_callback.h [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-ss_destroy_callback.c [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse-ss_destroy_callback.h [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse.c [new file with mode: 0644]
level_0/f_abstruse/tests/unit/c/test-abstruse.h [new file with mode: 0644]