]> Kevux Git Server - fll/commit
Refactor: Change FILE * to f_file_t when printing.
authorKevin Day <thekevinday@gmail.com>
Sat, 22 Oct 2022 14:50:44 +0000 (09:50 -0500)
committerKevin Day <thekevinday@gmail.com>
Sat, 22 Oct 2022 14:50:44 +0000 (09:50 -0500)
commit7d7c4a4909da7ad048cb28641cb5a7226615cdf3
tree8fff292005facc31cf022e7806b6e48894b1663c
parentd5f36c32b6380e45af784734275a664e862d412a
Refactor: Change FILE * to f_file_t when printing.

Due to the by-design restrictions, the f_file_t cannot be defined in f_file project and be used in another level_0 project.
The f_print project cannot depend on f_file project and cannot use f_file_t.

I spent some time considering this problem.

The f_type project is a special case core project that othe level_0 projects can depend on it.
This project also provides types and f_file_t is a type.

Move f_file_t's definition into f_file project.
I want to avoid always pulling in file related headers.
The the f_file_t is defined in a separate file "type_file.h".
The "type_file.h" must be manually included when needed.

With type_file.h in place, the print projects all include "type_file.h" and utilize f_file_t.
The "FILE *" stream is now replaced wth f_file_t.

This simplifies the code, makes it easier to use, and makes it easier to maintain.
For example, "fll_print_dynamic_raw(f_string_eol_s, main->output.to.stream);" can not be "fll_print_dynamic_raw(f_string_eol_s, main->output.to);".

I made this decision in the middle of a "Progress" change process.
There may be code missed and tests may need to be updated at some point after the "Progress" change process is complete.
123 files changed:
build/level_0/settings
build/monolithic/settings
level_0/f_conversion/c/conversion.c
level_0/f_conversion/c/conversion.h
level_0/f_conversion/c/private-conversion.c
level_0/f_conversion/c/private-conversion.h
level_0/f_file/c/file.h
level_0/f_file/c/file/common.h
level_0/f_print/c/print.c
level_0/f_print/c/print.h
level_0/f_print/c/print/to.c
level_0/f_print/c/print/to.h
level_0/f_print/c/private-print.c
level_0/f_print/c/private-print.h
level_0/f_type/c/type.h
level_0/f_type/c/type_file.h [new file with mode: 0644]
level_0/f_type/data/build/settings
level_1/fl_print/c/print.c
level_1/fl_print/c/print.h
level_1/fl_print/c/private-print.c
level_1/fl_print/c/private-print.h
level_2/fll_error/c/error.c
level_2/fll_error/c/private-error.c
level_2/fll_print/c/print.c
level_2/fll_print/c/print.h
level_2/fll_program/c/private-program.c
level_2/fll_program/c/program/print.c
level_3/byte_dump/c/byte_dump.c
level_3/byte_dump/c/print.c
level_3/byte_dump/c/private-byte_dump.c
level_3/control/c/control.c
level_3/control/c/print.c
level_3/control/c/private-control.c
level_3/control/c/private-print.c
level_3/controller/c/controller.c
level_3/controller/c/controller/private-controller.c
level_3/controller/c/entry/private-entry.c
level_3/controller/c/entry/private-entry_print.c
level_3/controller/c/print.c
level_3/controller/c/rule/private-rule.c
level_3/controller/c/rule/private-rule_print.c
level_3/controller/c/thread/private-thread.c
level_3/controller/c/thread/private-thread_entry.c
level_3/fake/c/fake.c
level_3/fake/c/print.c
level_3/fake/c/private-build-library.c
level_3/fake/c/private-build-load.c
level_3/fake/c/private-build-object.c
level_3/fake/c/private-build-objects.c
level_3/fake/c/private-build-program.c
level_3/fake/c/private-build-skeleton.c
level_3/fake/c/private-build.c
level_3/fake/c/private-clean.c
level_3/fake/c/private-fake.c
level_3/fake/c/private-make-load_fakefile.c
level_3/fake/c/private-make-operate.c
level_3/fake/c/private-make-operate_process.c
level_3/fake/c/private-make-operate_process_type.c
level_3/fake/c/private-make-operate_validate_type.c
level_3/fake/c/private-make.c
level_3/fake/c/private-print.c
level_3/fake/c/private-skeleton.c
level_3/firewall/c/firewall.c
level_3/firewall/c/print.c
level_3/firewall/c/private-common.c
level_3/firewall/c/private-firewall.c
level_3/fss_basic_list_read/c/fss_basic_list_read.c
level_3/fss_basic_list_read/c/print.c
level_3/fss_basic_list_read/c/private-print.c
level_3/fss_basic_list_read/c/private-read.c
level_3/fss_basic_list_write/c/fss_basic_list_write.c
level_3/fss_basic_list_write/c/print.c
level_3/fss_basic_list_write/c/private-write.c
level_3/fss_basic_read/c/fss_basic_read.c
level_3/fss_basic_read/c/print.c
level_3/fss_basic_read/c/private-print.c
level_3/fss_basic_read/c/private-read.c
level_3/fss_basic_write/c/fss_basic_write.c
level_3/fss_basic_write/c/print.c
level_3/fss_basic_write/c/private-write.c
level_3/fss_embedded_list_read/c/fss_embedded_list_read.c
level_3/fss_embedded_list_read/c/print.c
level_3/fss_embedded_list_read/c/private-print.c
level_3/fss_embedded_list_read/c/private-read.c
level_3/fss_embedded_list_write/c/fss_embedded_list_write.c
level_3/fss_embedded_list_write/c/print.c
level_3/fss_embedded_list_write/c/private-write.c
level_3/fss_extended_list_read/c/fss_extended_list_read.c
level_3/fss_extended_list_read/c/print.c
level_3/fss_extended_list_read/c/private-print.c
level_3/fss_extended_list_read/c/private-read.c
level_3/fss_extended_list_write/c/fss_extended_list_write.c
level_3/fss_extended_list_write/c/print.c
level_3/fss_extended_list_write/c/private-write.c
level_3/fss_extended_read/c/fss_extended_read.c
level_3/fss_extended_read/c/print.c
level_3/fss_extended_read/c/private-print.c
level_3/fss_extended_read/c/private-read.c
level_3/fss_extended_write/c/fss_extended_write.c
level_3/fss_extended_write/c/print.c
level_3/fss_extended_write/c/private-write.c
level_3/fss_identify/c/fss_identify.c
level_3/fss_identify/c/print.c
level_3/fss_identify/c/private-print.c
level_3/fss_payload_read/c/fss_payload_read.c
level_3/fss_payload_read/c/print.c
level_3/fss_payload_read/c/private-print.c
level_3/fss_payload_read/c/private-read.c
level_3/fss_payload_write/c/fss_payload_write.c
level_3/fss_payload_write/c/print.c
level_3/fss_payload_write/c/private-write.c
level_3/fss_status_code/c/print.c
level_3/fss_status_code/c/private-fss_status_code.c
level_3/iki_read/c/print.c
level_3/iki_read/c/private-print.c
level_3/iki_read/c/private-read.c
level_3/iki_write/c/iki_write.c
level_3/iki_write/c/print.c
level_3/iki_write/c/private-write.c
level_3/status_code/c/print.c
level_3/status_code/c/private-status_code.c
level_3/utf8/c/print.c
level_3/utf8/c/utf8.c