]> Kevux Git Server - fll/commit
Bugfix: Bugs and regressions in recent "Progress:.." commits as well as in the Fake...
authorKevin Day <thekevinday@gmail.com>
Tue, 8 Feb 2022 05:39:57 +0000 (23:39 -0600)
committerKevin Day <thekevinday@gmail.com>
Tue, 8 Feb 2022 05:53:04 +0000 (23:53 -0600)
commit90a993388be898234238434ee3f0a408492d1f6e
treed8862a8e69b2073bbcdc2a4e54eae1d1274c4cc8
parent3d712ac27717192c8e42f61270a6b4efdd56862e
Bugfix: Bugs and regressions in recent "Progress:.." commits as well as in the Fake program.

This is in a way a continuation of the "Progress: Continue mass converting to f_string_static_t." commits.
However, there were some notable bugs that needed to be brought out and I feel they deserved to be treated as a bug rather than in-progress code changes.

Put the testfile context in a quote and fix the color context to perform the reset rather than leak red all over the console.

NULL terminate some f_environment functions to make compatibility with working with NULL terminated string functions more straight-forward.
This is noticed with the libc/POSIX execute family of functions.

The fl_console_parameter_to_string_dynamic_directory() needed to be converted in regards to the mass converting to f_string_static_t.
Make sure NULL termination is performed, which is previously may not have been (prior to transition to f_string_static_t, making this a bug).

I accidentally over-fixed "c1906053 Bugfix: File stream read inefficiency, allocation f_string_t instead of char, and actually use state.step_small.".
There is a case where the array is in fact an array of f_string_t and I incorrectly changed it to "char", resulting in a regression.

Have the fll_fss_snatch_apart() use *_increase_by() and similar functions rather than *_resize().
The *_resize() functions are more expensive in that the *_increase_by() only perform reallocations when necessary whereas the *_resize() almost always performs reallocations.

Make sure fll_fss_snatch_apart() calls f_string_dynamic_terminate_after().

I started to convert some of the macro delete functions in the Fake program to actual functions, but this process is very incomplete.
Add a couple of cache objects to th Fake program.
There are a lot of areas where caching can be used for increasing memory use efficiency, but much of this is ignore for now.
I hope to do more work in more completely utilizing caches in the Fake program before the upcoming stable release.

The Fake program needs to use the fake_default_allocation_small_d more consistently rather than F_memory_default_allocation_small_d.

Miscellaneous "Progress: Continue mass converting to f_string_static_t." related changes in the Fake program.
Some of these are just f_print_format() string fixes where '%S' is changed to '%Q' or '%r'.

The fake_make_operate_process_run() can be optimized to just perform an offset on the array rather than making an entirely new copy.
This should save a notable amount of memory.
32 files changed:
level_0/f_account/data/build/testfile
level_0/f_capability/data/build/testfile
level_0/f_color/data/build/testfile
level_0/f_console/data/build/testfile
level_0/f_control_group/data/build/testfile
level_0/f_conversion/data/build/testfile
level_0/f_environment/c/environment.c
level_0/f_environment/c/environment.h
level_0/f_memory/data/build/testfile
level_0/f_string/c/string-common.h
level_0/f_string/c/string_dynamic.c
level_0/f_type_array/data/build/testfile
level_1/fl_console/c/console.c
level_1/fl_console/c/console.h
level_1/fl_environment/c/environment.c
level_1/fl_environment/c/environment.h
level_2/fll_execute/c/execute.c
level_2/fll_execute/c/private-execute.c
level_2/fll_fss/c/fss.c
level_2/fll_program/c/program.h
level_3/fake/c/common.h
level_3/fake/c/fake.c
level_3/fake/c/private-clean.c
level_3/fake/c/private-common.c
level_3/fake/c/private-common.h
level_3/fake/c/private-fake.c
level_3/fake/c/private-fake.h
level_3/fake/c/private-make-load_fakefile.c
level_3/fake/c/private-make-operate.c
level_3/fake/c/private-make-operate.h
level_3/fake/c/private-make-operate_process.c
level_3/fake/c/private-make-operate_process_type.c