]> Kevux Git Server - fll/commit
Refactor: Relocate the order of the size and used properties for f_string_static_t...
authorKevin Day <Kevin@kevux.org>
Sun, 30 Nov 2025 05:26:10 +0000 (23:26 -0600)
committerKevin Day <Kevin@kevux.org>
Sun, 30 Nov 2025 14:44:37 +0000 (08:44 -0600)
commita6ab23fe1333af5f582f73144ab55d753785aaf0
treec1d6e5bd91a9072cb166336929188274dd972e66
parentfb0db5d6f7506ed1563b86efb40150af25aeaa20
Refactor: Relocate the order of the size and used properties for f_string_static_t and f_string_dynamic_t.

This will be performed on all types, but I started with `f_string_static_t` and `f_string_dynamic_t` given how much they are being used.

This is done to help reduce potential security problems relating to allocation and buffer overflows.
This is not expected to stop attacks or intentional mis-uses.
This is instead expected to help reduce the attack surface area by reducing the possible harm from coding or runtime mistakes.

The basic structure is:
```pseudocode
  my_type {
    array
    used
    size
  }
```

If an array overflow write occurs, it is mostly likely to write in the `used` structure rather than the `size` (unless the compiler does something different).
This can cause the `used` to become corrupted rather than the `size`.
This essentially makes `used` act as a buffer to the `size` property.
While this is still a bad state, the memory allocation might still get preserved and allow for proper de-allocation without memory leaks.
Stack protection and similar security practices helps make larger overflow writes more likely to get caught and therefore more likely to be stopped before the `size` gets corrupted.

This, of course, does not protect against intentional mis-uses and abuses.

I was holding this off for some time due to the sheer size of the required changes.
However, once a code freeze happens, then I cannot make these API and ABI breaking changes.
Therefore, now is the time for me to make these changes.

Also begin using the `{ .property = value }` notation.
408 files changed:
level_0/f_abstruse/tests/unit/c/test-abstruse-maps_delete_callback.c
level_0/f_abstruse/tests/unit/c/test-abstruse-maps_destroy_callback.c
level_0/f_abstruse/tests/unit/c/test-abstruse-mapss_delete_callback.c
level_0/f_abstruse/tests/unit/c/test-abstruse-mapss_destroy_callback.c
level_0/f_abstruse/tests/unit/c/test-abstruse-s_delete_callback.c
level_0/f_abstruse/tests/unit/c/test-abstruse-s_destroy_callback.c
level_0/f_abstruse/tests/unit/c/test-abstruse-ss_delete_callback.c
level_0/f_abstruse/tests/unit/c/test-abstruse-ss_destroy_callback.c
level_0/f_account/tests/unit/c/test-account-s_delete_callback.c
level_0/f_account/tests/unit/c/test-account-s_destroy_callback.c
level_0/f_account/tests/unit/c/test-account-ss_delete_callback.c
level_0/f_account/tests/unit/c/test-account-ss_destroy_callback.c
level_0/f_color/c/color/common.c
level_0/f_compare/tests/unit/c/test-compare-.c
level_0/f_compare/tests/unit/c/test-compare-dynamic.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_except.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_except_string.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_except_trim.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_except_trim_string.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_partial.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_partial_dynamic.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_partial_except.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_partial_except_dynamic.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_partial_except_string.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_partial_except_trim.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_partial_except_trim_dynamic.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_partial_except_trim_string.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_partial_string.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_partial_trim.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_partial_trim_dynamic.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_partial_trim_string.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_string.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_trim.c
level_0/f_compare/tests/unit/c/test-compare-dynamic_trim_string.c
level_0/f_compare/tests/unit/c/test-compare-except.c
level_0/f_compare/tests/unit/c/test-compare-except_trim.c
level_0/f_compare/tests/unit/c/test-compare-trim.c
level_0/f_compare/tests/unit/c/test-compare-utf.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_except.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_except_string.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_except_trim.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_except_trim_string.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_partial.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_partial_dynamic.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_partial_except.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_partial_except_dynamic.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_partial_except_string.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_partial_except_trim.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_partial_except_trim_dynamic.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_partial_except_trim_string.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_partial_string.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_partial_trim.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_partial_trim_dynamic.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_partial_trim_string.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_string.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_trim.c
level_0/f_compare/tests/unit/c/test-compare-utf_dynamic_trim_string.c
level_0/f_compare/tests/unit/c/test-compare-utf_except.c
level_0/f_compare/tests/unit/c/test-compare-utf_except_trim.c
level_0/f_compare/tests/unit/c/test-compare-utf_trim.c
level_0/f_console/c/console/common.c
level_0/f_console/tests/unit/c/test-console-parameter_process.c
level_0/f_console/tests/unit/c/test-console-parameter_reset.c
level_0/f_control_group/c/control_group/common.c
level_0/f_directory/c/directory/common.c
level_0/f_directory/tests/unit/c/test-directory-create.c
level_0/f_directory/tests/unit/c/test-directory-create_at.c
level_0/f_directory/tests/unit/c/test-directory-empty.c
level_0/f_directory/tests/unit/c/test-directory-exists.c
level_0/f_directory/tests/unit/c/test-directory-exists_at.c
level_0/f_directory/tests/unit/c/test-directory-is.c
level_0/f_directory/tests/unit/c/test-directory-is_at.c
level_0/f_directory/tests/unit/c/test-directory-list.c
level_0/f_directory/tests/unit/c/test-directory-listings_delete_callback.c
level_0/f_directory/tests/unit/c/test-directory-listings_destroy_callback.c
level_0/f_directory/tests/unit/c/test-directory-listingss_delete_callback.c
level_0/f_directory/tests/unit/c/test-directory-listingss_destroy_callback.c
level_0/f_directory/tests/unit/c/test-directory-open.c
level_0/f_directory/tests/unit/c/test-directory-open_at.c
level_0/f_directory/tests/unit/c/test-directory-recurse_dos_delete_callback.c
level_0/f_directory/tests/unit/c/test-directory-recurse_dos_destroy_callback.c
level_0/f_directory/tests/unit/c/test-directory-recurse_doss_delete_callback.c
level_0/f_directory/tests/unit/c/test-directory-recurse_doss_destroy_callback.c
level_0/f_directory/tests/unit/c/test-directory-remove.c
level_0/f_directory/tests/unit/c/test-directory-remove_custom.c
level_0/f_directory/tests/unit/c/test-directory-statusss_delete_callback.c
level_0/f_directory/tests/unit/c/test-directory-statusss_destroy_callback.c
level_0/f_directory/tests/unit/c/test-directory-stream_open.c
level_0/f_directory/tests/unit/c/test-directory-touch.c
level_0/f_directory/tests/unit/c/test-directory-touch_at.c
level_0/f_environment/tests/unit/c/test-environment-exists.c
level_0/f_environment/tests/unit/c/test-environment-get.c
level_0/f_environment/tests/unit/c/test-environment-get_all.c
level_0/f_environment/tests/unit/c/test-environment-set.c
level_0/f_environment/tests/unit/c/test-environment-unset.c
level_0/f_file/c/file.c
level_0/f_file/c/file/common.c
level_0/f_file/c/file/stream.c
level_0/f_file/tests/unit/c/test-file-access.c
level_0/f_file/tests/unit/c/test-file-access_at.c
level_0/f_file/tests/unit/c/test-file-clone.c
level_0/f_file/tests/unit/c/test-file-copy.c
level_0/f_file/tests/unit/c/test-file-create.c
level_0/f_file/tests/unit/c/test-file-create_at.c
level_0/f_file/tests/unit/c/test-file-create_device.c
level_0/f_file/tests/unit/c/test-file-create_device_at.c
level_0/f_file/tests/unit/c/test-file-create_fifo.c
level_0/f_file/tests/unit/c/test-file-create_fifo_at.c
level_0/f_file/tests/unit/c/test-file-create_node.c
level_0/f_file/tests/unit/c/test-file-create_node_at.c
level_0/f_file/tests/unit/c/test-file-exists.c
level_0/f_file/tests/unit/c/test-file-exists_at.c
level_0/f_file/tests/unit/c/test-file-group_read.c
level_0/f_file/tests/unit/c/test-file-is.c
level_0/f_file/tests/unit/c/test-file-is_at.c
level_0/f_file/tests/unit/c/test-file-link.c
level_0/f_file/tests/unit/c/test-file-link_at.c
level_0/f_file/tests/unit/c/test-file-link_hard.c
level_0/f_file/tests/unit/c/test-file-link_hard_at.c
level_0/f_file/tests/unit/c/test-file-link_read.c
level_0/f_file/tests/unit/c/test-file-link_read_at.c
level_0/f_file/tests/unit/c/test-file-mode_from_string.c
level_0/f_file/tests/unit/c/test-file-mode_read.c
level_0/f_file/tests/unit/c/test-file-mode_read_at.c
level_0/f_file/tests/unit/c/test-file-mode_set.c
level_0/f_file/tests/unit/c/test-file-mode_set_at.c
level_0/f_file/tests/unit/c/test-file-name_base.c
level_0/f_file/tests/unit/c/test-file-name_directory.c
level_0/f_file/tests/unit/c/test-file-open.c
level_0/f_file/tests/unit/c/test-file-open_at.c
level_0/f_file/tests/unit/c/test-file-owner_read.c
level_0/f_file/tests/unit/c/test-file-remove.c
level_0/f_file/tests/unit/c/test-file-remove_at.c
level_0/f_file/tests/unit/c/test-file-rename.c
level_0/f_file/tests/unit/c/test-file-rename_at.c
level_0/f_file/tests/unit/c/test-file-role_change.c
level_0/f_file/tests/unit/c/test-file-role_change_at.c
level_0/f_file/tests/unit/c/test-file-size.c
level_0/f_file/tests/unit/c/test-file-size_at.c
level_0/f_file/tests/unit/c/test-file-stat.c
level_0/f_file/tests/unit/c/test-file-stat_at.c
level_0/f_file/tests/unit/c/test-file-stream_open.c
level_0/f_file/tests/unit/c/test-file-stream_open_descriptor.c
level_0/f_file/tests/unit/c/test-file-stream_reopen.c
level_0/f_file/tests/unit/c/test-file-stream_write.c
level_0/f_file/tests/unit/c/test-file-stream_write_block.c
level_0/f_file/tests/unit/c/test-file-stream_write_range.c
level_0/f_file/tests/unit/c/test-file-stream_write_until.c
level_0/f_file/tests/unit/c/test-file-touch.c
level_0/f_file/tests/unit/c/test-file-touch_at.c
level_0/f_file/tests/unit/c/test-file-type.c
level_0/f_file/tests/unit/c/test-file-type_at.c
level_0/f_file/tests/unit/c/test-file-write.c
level_0/f_file/tests/unit/c/test-file-write_block.c
level_0/f_file/tests/unit/c/test-file-write_range.c
level_0/f_file/tests/unit/c/test-file-write_until.c
level_0/f_fss/c/fss/common.c
level_0/f_fss/c/fss/payload.c
level_0/f_fss/tests/unit/c/test-fss-apply_delimit.c
level_0/f_fss/tests/unit/c/test-fss-apply_delimit_range.c
level_0/f_fss/tests/unit/c/test-fss-count_lines.c
level_0/f_fss/tests/unit/c/test-fss-count_lines_range.c
level_0/f_fss/tests/unit/c/test-fss-is_combining.c
level_0/f_fss/tests/unit/c/test-fss-is_graph.c
level_0/f_fss/tests/unit/c/test-fss-is_space.c
level_0/f_fss/tests/unit/c/test-fss-is_zero_width.c
level_0/f_fss/tests/unit/c/test-fss-seek_to_eol.c
level_0/f_fss/tests/unit/c/test-fss-simple_packet_decode.c
level_0/f_fss/tests/unit/c/test-fss-simple_packet_decode_range.c
level_0/f_fss/tests/unit/c/test-fss-simple_packet_delete.c
level_0/f_fss/tests/unit/c/test-fss-simple_packet_destroy.c
level_0/f_fss/tests/unit/c/test-fss-simple_packets_delete_callback.c
level_0/f_fss/tests/unit/c/test-fss-simple_packets_destroy_callback.c
level_0/f_fss/tests/unit/c/test-fss-simple_packetss_delete_callback.c
level_0/f_fss/tests/unit/c/test-fss-simple_packetss_destroy_callback.c
level_0/f_fss/tests/unit/c/test-fss-skip_past_delimit.c
level_0/f_fss/tests/unit/c/test-fss-skip_past_space.c
level_0/f_iki/c/iki/common.c
level_0/f_iki/tests/unit/c/test-iki-content_is.c
level_0/f_iki/tests/unit/c/test-iki-content_partial_is.c
level_0/f_iki/tests/unit/c/test-iki-eki_read.c
level_0/f_iki/tests/unit/c/test-iki-eki_write.c
level_0/f_iki/tests/unit/c/test-iki-object_is.c
level_0/f_iki/tests/unit/c/test-iki-object_partial_is.c
level_0/f_iki/tests/unit/c/test-iki-read.c
level_0/f_iki/tests/unit/c/test-iki-write.c
level_0/f_network/tests/unit/c/test-network-from_ip_name.c
level_0/f_network/tests/unit/c/test-network-from_ip_string.c
level_0/f_network/tests/unit/c/test-network-is_ip_address.c
level_0/f_network/tests/unit/c/test-network-to_ip_string.c
level_0/f_path/c/path/common.c
level_0/f_path/tests/unit/c/test-path-change.c
level_0/f_path/tests/unit/c/test-path-current.c
level_0/f_path/tests/unit/c/test-path-directory_cleanup.c
level_0/f_path/tests/unit/c/test-path-is.c
level_0/f_path/tests/unit/c/test-path-is_absolute.c
level_0/f_path/tests/unit/c/test-path-is_relative.c
level_0/f_path/tests/unit/c/test-path-is_relative_current.c
level_0/f_path/tests/unit/c/test-path-real.c
level_0/f_print/c/print/common.c
level_0/f_print/tests/unit/c/test-print-.c
level_0/f_print/tests/unit/c/test-print-character.c
level_0/f_print/tests/unit/c/test-print-character_safely.c
level_0/f_print/tests/unit/c/test-print-dynamic.c
level_0/f_print/tests/unit/c/test-print-dynamic_partial.c
level_0/f_print/tests/unit/c/test-print-dynamic_partial_raw.c
level_0/f_print/tests/unit/c/test-print-dynamic_partial_raw_safely.c
level_0/f_print/tests/unit/c/test-print-dynamic_partial_safely.c
level_0/f_print/tests/unit/c/test-print-dynamic_raw.c
level_0/f_print/tests/unit/c/test-print-dynamic_raw_safely.c
level_0/f_print/tests/unit/c/test-print-dynamic_safely.c
level_0/f_print/tests/unit/c/test-print-except.c
level_0/f_print/tests/unit/c/test-print-except_dynamic.c
level_0/f_print/tests/unit/c/test-print-except_dynamic_partial.c
level_0/f_print/tests/unit/c/test-print-except_dynamic_partial_raw.c
level_0/f_print/tests/unit/c/test-print-except_dynamic_partial_raw_safely.c
level_0/f_print/tests/unit/c/test-print-except_dynamic_partial_safely.c
level_0/f_print/tests/unit/c/test-print-except_dynamic_raw.c
level_0/f_print/tests/unit/c/test-print-except_dynamic_raw_safely.c
level_0/f_print/tests/unit/c/test-print-except_dynamic_safely.c
level_0/f_print/tests/unit/c/test-print-except_in.c
level_0/f_print/tests/unit/c/test-print-except_in_dynamic.c
level_0/f_print/tests/unit/c/test-print-except_in_dynamic_partial.c
level_0/f_print/tests/unit/c/test-print-except_in_dynamic_partial_raw.c
level_0/f_print/tests/unit/c/test-print-except_in_dynamic_partial_raw_safely.c
level_0/f_print/tests/unit/c/test-print-except_in_dynamic_partial_safely.c
level_0/f_print/tests/unit/c/test-print-except_in_dynamic_raw.c
level_0/f_print/tests/unit/c/test-print-except_in_dynamic_raw_safely.c
level_0/f_print/tests/unit/c/test-print-except_in_dynamic_safely.c
level_0/f_print/tests/unit/c/test-print-except_in_raw.c
level_0/f_print/tests/unit/c/test-print-except_in_raw_safely.c
level_0/f_print/tests/unit/c/test-print-except_in_safely.c
level_0/f_print/tests/unit/c/test-print-except_raw.c
level_0/f_print/tests/unit/c/test-print-except_raw_safely.c
level_0/f_print/tests/unit/c/test-print-except_safely.c
level_0/f_print/tests/unit/c/test-print-raw.c
level_0/f_print/tests/unit/c/test-print-raw_safely.c
level_0/f_print/tests/unit/c/test-print-raw_terminated.c
level_0/f_print/tests/unit/c/test-print-safely.c
level_0/f_print/tests/unit/c/test-print-safely_terminated.c
level_0/f_print/tests/unit/c/test-print-terminated.c
level_0/f_print/tests/unit/c/test-print-to.c
level_0/f_print/tests/unit/c/test-print-to_character.c
level_0/f_print/tests/unit/c/test-print-to_character_safely.c
level_0/f_print/tests/unit/c/test-print-to_dynamic.c
level_0/f_print/tests/unit/c/test-print-to_dynamic_partial.c
level_0/f_print/tests/unit/c/test-print-to_dynamic_partial_raw.c
level_0/f_print/tests/unit/c/test-print-to_dynamic_partial_raw_safely.c
level_0/f_print/tests/unit/c/test-print-to_dynamic_partial_safely.c
level_0/f_print/tests/unit/c/test-print-to_dynamic_raw.c
level_0/f_print/tests/unit/c/test-print-to_dynamic_raw_safely.c
level_0/f_print/tests/unit/c/test-print-to_dynamic_safely.c
level_0/f_print/tests/unit/c/test-print-to_except.c
level_0/f_print/tests/unit/c/test-print-to_except_dynamic.c
level_0/f_print/tests/unit/c/test-print-to_except_dynamic_partial.c
level_0/f_print/tests/unit/c/test-print-to_except_dynamic_partial_raw.c
level_0/f_print/tests/unit/c/test-print-to_except_dynamic_partial_raw_safely.c
level_0/f_print/tests/unit/c/test-print-to_except_dynamic_partial_safely.c
level_0/f_print/tests/unit/c/test-print-to_except_dynamic_raw.c
level_0/f_print/tests/unit/c/test-print-to_except_dynamic_raw_safely.c
level_0/f_print/tests/unit/c/test-print-to_except_dynamic_safely.c
level_0/f_print/tests/unit/c/test-print-to_except_in.c
level_0/f_print/tests/unit/c/test-print-to_except_in_dynamic.c
level_0/f_print/tests/unit/c/test-print-to_except_in_dynamic_partial.c
level_0/f_print/tests/unit/c/test-print-to_except_in_dynamic_partial_raw.c
level_0/f_print/tests/unit/c/test-print-to_except_in_dynamic_partial_raw_safely.c
level_0/f_print/tests/unit/c/test-print-to_except_in_dynamic_partial_safely.c
level_0/f_print/tests/unit/c/test-print-to_except_in_dynamic_raw.c
level_0/f_print/tests/unit/c/test-print-to_except_in_dynamic_raw_safely.c
level_0/f_print/tests/unit/c/test-print-to_except_in_dynamic_safely.c
level_0/f_print/tests/unit/c/test-print-to_except_in_raw.c
level_0/f_print/tests/unit/c/test-print-to_except_in_raw_safely.c
level_0/f_print/tests/unit/c/test-print-to_except_in_safely.c
level_0/f_print/tests/unit/c/test-print-to_except_raw.c
level_0/f_print/tests/unit/c/test-print-to_except_raw_safely.c
level_0/f_print/tests/unit/c/test-print-to_except_safely.c
level_0/f_print/tests/unit/c/test-print-to_raw.c
level_0/f_print/tests/unit/c/test-print-to_raw_safely.c
level_0/f_print/tests/unit/c/test-print-to_raw_terminated.c
level_0/f_print/tests/unit/c/test-print-to_safely.c
level_0/f_print/tests/unit/c/test-print-to_safely_terminated.c
level_0/f_print/tests/unit/c/test-print-to_terminated.c
level_0/f_serialize/c/serialize/common.c
level_0/f_serialize/tests/unit/c/test-serialize-from_simple.c
level_0/f_serialize/tests/unit/c/test-serialize-from_simple_get.c
level_0/f_serialize/tests/unit/c/test-serialize-from_simple_range.c
level_0/f_serialize/tests/unit/c/test-serialize-from_simple_select.c
level_0/f_serialize/tests/unit/c/test-serialize-to_simple.c
level_0/f_status_string/c/status_string.c
level_0/f_string/c/string/dynamic.h
level_0/f_string/c/string/static.c
level_0/f_string/c/string/static.h
level_0/f_string/tests/unit/c/test-string-append.c
level_0/f_string/tests/unit/c/test-string-append_assure.c
level_0/f_string/tests/unit/c/test-string-append_assure_nulless.c
level_0/f_string/tests/unit/c/test-string-append_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_append.c
level_0/f_string/tests/unit/c/test-string-dynamic_append_assure.c
level_0/f_string/tests/unit/c/test-string-dynamic_append_assure_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_append_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_mash.c
level_0/f_string/tests/unit/c/test-string-dynamic_mash_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_mish.c
level_0/f_string/tests/unit/c/test-string-dynamic_mish_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_partial_append.c
level_0/f_string/tests/unit/c/test-string-dynamic_partial_append_assure.c
level_0/f_string/tests/unit/c/test-string-dynamic_partial_append_assure_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_partial_append_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_partial_mash.c
level_0/f_string/tests/unit/c/test-string-dynamic_partial_mash_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_partial_mish.c
level_0/f_string/tests/unit/c/test-string-dynamic_partial_mish_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_partial_prepend.c
level_0/f_string/tests/unit/c/test-string-dynamic_partial_prepend_assure.c
level_0/f_string/tests/unit/c/test-string-dynamic_partial_prepend_assure_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_partial_prepend_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_prepend.c
level_0/f_string/tests/unit/c/test-string-dynamic_prepend_assure.c
level_0/f_string/tests/unit/c/test-string-dynamic_prepend_assure_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_prepend_nulless.c
level_0/f_string/tests/unit/c/test-string-dynamic_seek_line.c
level_0/f_string/tests/unit/c/test-string-dynamic_seek_line_back.c
level_0/f_string/tests/unit/c/test-string-dynamic_seek_line_to.c
level_0/f_string/tests/unit/c/test-string-dynamic_seek_line_to_back.c
level_0/f_string/tests/unit/c/test-string-dynamic_seek_to.c
level_0/f_string/tests/unit/c/test-string-dynamic_seek_to_back.c
level_0/f_string/tests/unit/c/test-string-dynamic_strip_null.c
level_0/f_string/tests/unit/c/test-string-dynamic_strip_null_range.c
level_0/f_string/tests/unit/c/test-string-dynamics_append.c
level_0/f_string/tests/unit/c/test-string-dynamics_append_all.c
level_0/f_string/tests/unit/c/test-string-dynamicss_append.c
level_0/f_string/tests/unit/c/test-string-dynamicss_append_all.c
level_0/f_string/tests/unit/c/test-string-map_multis_append.c
level_0/f_string/tests/unit/c/test-string-map_multis_append_all.c
level_0/f_string/tests/unit/c/test-string-map_multiss_append.c
level_0/f_string/tests/unit/c/test-string-map_multiss_append_all.c
level_0/f_string/tests/unit/c/test-string-maps_append.c
level_0/f_string/tests/unit/c/test-string-maps_append_all.c
level_0/f_string/tests/unit/c/test-string-mapss_append.c
level_0/f_string/tests/unit/c/test-string-mapss_append_all.c
level_0/f_string/tests/unit/c/test-string-mash.c
level_0/f_string/tests/unit/c/test-string-mash_nulless.c
level_0/f_string/tests/unit/c/test-string-mish.c
level_0/f_string/tests/unit/c/test-string-mish_nulless.c
level_0/f_string/tests/unit/c/test-string-prepend.c
level_0/f_string/tests/unit/c/test-string-prepend_assure.c
level_0/f_string/tests/unit/c/test-string-prepend_assure_nulless.c
level_0/f_string/tests/unit/c/test-string-prepend_nulless.c
level_0/f_string/tests/unit/c/test-string-seek_line.c
level_0/f_string/tests/unit/c/test-string-seek_line_back.c
level_0/f_string/tests/unit/c/test-string-seek_line_to.c
level_0/f_string/tests/unit/c/test-string-seek_line_to_back.c
level_0/f_string/tests/unit/c/test-string-seek_to.c
level_0/f_string/tests/unit/c/test-string-seek_to_back.c
level_0/f_string/tests/unit/c/test-string-triples_append.c
level_0/f_string/tests/unit/c/test-string-triples_append_all.c
level_0/f_string/tests/unit/c/test-string-tripless_append.c
level_0/f_string/tests/unit/c/test-string-tripless_append_all.c
level_0/f_thread/tests/unit/c/test-thread-name_get.c
level_0/f_thread/tests/unit/c/test-thread-name_set.c
level_0/f_thread/tests/unit/c/test-thread-semaphore_file_delete.c
level_0/f_thread/tests/unit/c/test-thread-semaphore_file_open.c
level_0/f_time/tests/unit/c/test-time-calendar_string.c
level_0/f_time/tests/unit/c/test-time-calendar_string_part.c
level_1/fl_path/tests/unit/c/test-path-canonical.c
level_1/fl_path/tests/unit/c/test-path-clean.c
level_1/fl_print/c/print/common.c
level_1/fl_status_string/tests/unit/c/test-status_string-from.c
level_2/fll_error/c/error/common.c
level_2/fll_fss_status_string/c/fss_status_string.c
level_2/fll_program/c/program/common.c
level_3/byte_dump/c/main/common/string.c
level_3/example/c/main/common/string.c
level_3/fake/c/main/build/string.c
level_3/fake/c/main/common/string.c
level_3/fake/c/main/fake.c
level_3/fake/c/main/make/operate.c
level_3/fake/c/main/make/operate_process.c
level_3/fake/c/main/make/operate_validate_type.c
level_3/fss_identify/c/main/common/string.c
level_3/fss_read/c/basic/common.c
level_3/fss_read/c/basic_list/common.c
level_3/fss_read/c/embedded_list/common.c
level_3/fss_read/c/extended/common.c
level_3/fss_read/c/extended_list/common.c
level_3/fss_read/c/main/common.c
level_3/fss_read/c/main/common/string.c
level_3/fss_read/c/payload/common.c
level_3/fss_write/c/basic/common.c
level_3/fss_write/c/basic_list/common.c
level_3/fss_write/c/embedded_list/common.c
level_3/fss_write/c/extended/common.c
level_3/fss_write/c/extended_list/common.c
level_3/fss_write/c/main/common/string.c
level_3/fss_write/c/payload/common.c
level_3/iki_read/c/eki/common.c
level_3/iki_read/c/iki/common.c
level_3/iki_read/c/main/common/string.c
level_3/iki_write/c/eki/common.c
level_3/iki_write/c/iki/common.c
level_3/iki_write/c/main/common/string.c
level_3/status_code/c/fss/common.c
level_3/status_code/c/main/common/string.c
level_3/utf8/c/main/bytesequence.c
level_3/utf8/c/main/codepoint.c
level_3/utf8/c/main/common/string.c
level_3/utf8/c/main/print/data.c