Kevin Day [Fri, 6 Jun 2025 02:43:35 +0000 (21:43 -0500)]
Security: Explicitly define IFS to prevent misuse.
The scripts are written with certain expectations.
This expectation may not be properly met if the `IFS` value is changed.
This can potentially be used to create some sort of exploit.
Explicitly define IFS and then do so at a local variable scope to prevent affecting the callers IFS setting.
Kevin Day [Thu, 8 May 2025 04:53:07 +0000 (23:53 -0500)]
Workaround: The compiler and linker fail to understand that compiling statically should also link statically.
This is a logic or design flaw that is just plain idiotic.
When compiling statically (passing `-static`), there cannot be any shared/dynamic linked data.
Rather than recognizing this, if there is a shared library during a static build then the shared library is linked to.
The compiler and linker, at least, supports explicitly forcing the point that a static library is to be linked.
This is done via `-l:libc.a` for libc linking rather than `-lc`.
This should not be necessary, but it unfortunately is.
Kevin Day [Thu, 1 May 2025 01:52:10 +0000 (20:52 -0500)]
Update: Next micro version (0.7.2).
The following are the commands that I ran to make this change.
# find data/ sources/ specifications/ documents/ licenses/ install.sh -type f -exec sed -i -e 's|0\.7\.1|0.7.2|g' '{}' ';'
# find data/ sources/ specifications/ documents/ licenses/ -type f -exec sed -i -e 's|^version_micro 1|version_micro 2|g' '{}' ';'
# find sources/ -name *.h -exec sed -i -e 's|_program_version_micro_s F_string_ascii_1_s|_program_version_micro_s F_string_ascii_2_s|g' '{}' ';'
# find sources/ -name *.h -exec sed -i -e 's|_program_version_micro_s_length F_string_ascii_1_s_length|_program_version_micro_s_length F_string_ascii_2_s_length|g' '{}' ';'
# sed -i -e 's|version_micro 1|version_micro 2|g' data/build/settings* data/build/stand_alone/settings.*
Kevin Day [Tue, 29 Apr 2025 22:47:37 +0000 (17:47 -0500)]
Update: Synchronize with FLL release by setting version to 0.7.1.
In the longer term the version numbers will likely be on a different number.
In the short term, as in now, it is much easier to just maintain them at the same release versions.
Kevin Day [Tue, 28 Jan 2025 04:45:34 +0000 (22:45 -0600)]
Update: Improve signal handling code.
Move the `fll_program_print_signal_received()` calls to the main program to help ensure consistent printing at the end of the program.
- Note: I am not certain if I want this instead in the main() function or not and I opted not to do so for now.
Kevin Day [Wed, 31 Jul 2024 02:45:29 +0000 (21:45 -0500)]
Refactor: Change bit-wise enumerations into defines.
I did some reviewing of how the enumerations used for flags are used.
These generally are not being used as a type.
An enumeration slightly increases the resulting binary size.
Enumeration values might be limited to just type of int.
This seems like an easy (small) optimization to just use defines rather than enumerations for flags and other bit-wise numbers.
Kevin Day [Mon, 29 Jul 2024 02:49:33 +0000 (21:49 -0500)]
Progress: Continue migrating the project.
This is already mostly done.
I have the stand alone config.h file to setup still.
I do have some strings that are being passed to print functions.
These should be moved into the print files but I am uncertain as to how I want to go about doing this.
I might create an enumeration like I do with the function print string macros.