From: Kevin Day Date: Wed, 12 Nov 2025 05:26:09 +0000 (-0600) Subject: Update: Utilize the F_status_debug_source_d for handling the errors. X-Git-Tag: 0.7.3~1 X-Git-Url: https://www.git.kevux.org/?a=commitdiff_plain;h=fcb8c04a0e87ef41a4c8421a7c21894f635d1ef3;p=control Update: Utilize the F_status_debug_source_d for handling the errors. This simplifies some of the logic and code. However, there are some disadvantages of doing this. One such disadvantage is losing the specific function that has failed. The location in the source file should be sufficient, if not ideal. --- diff --git a/sources/c/program/control/control/main.c b/sources/c/program/control/control/main.c index a59c408..6f55165 100644 --- a/sources/c/program/control/control/main.c +++ b/sources/c/program/control/control/main.c @@ -50,7 +50,7 @@ int main(const int argc, const f_string_t *argv, const f_string_t *envp) { data.setting.state.status = f_thread_create(0, &id_signal, &control_thread_signal, (void *) &data); if (F_status_is_error(data.setting.state.status)) { - control_print_error(&data.program.error, macro_control_f(f_thread_create)); + control_print_error(&data.program.error, F_status_debug_source_d); } else { { diff --git a/sources/c/program/control/main/common.c b/sources/c/program/control/main/common.c index d1b1c08..23c7b11 100644 --- a/sources/c/program/control/main/common.c +++ b/sources/c/program/control/main/common.c @@ -16,7 +16,7 @@ extern "C" { main->setting.state.step_small = control_allocation_small_d; if (F_status_is_error(main->setting.state.status)) { - control_print_error(&main->program.error, macro_control_f(f_console_parameter_process)); + control_print_error(&main->program.error, F_status_debug_source_d); return; } @@ -24,7 +24,7 @@ extern "C" { main->setting.state.status = fll_program_parameter_process_context_standard(F_true, &main->program); if (F_status_is_error(main->setting.state.status)) { - control_print_error(&main->program.error, macro_control_f(fll_program_parameter_process_context_standard)); + control_print_error(&main->program.error, F_status_debug_source_d); return; } @@ -32,7 +32,7 @@ extern "C" { main->setting.state.status = fll_program_parameter_process_verbosity_standard(F_true, &main->program); if (F_status_is_error(main->setting.state.status)) { - control_print_error(&main->program.error, macro_control_f(fll_program_parameter_process_verbosity_standard)); + control_print_error(&main->program.error, F_status_debug_source_d); return; } @@ -90,7 +90,7 @@ extern "C" { main->setting.state.status = f_file_stream_open(main->setting.path_settings, f_file_open_mode_read_s, &file); if (F_status_is_error(main->setting.state.status)) { - control_print_error_file(&main->program.error, macro_control_f(f_file_stream_open), main->setting.path_settings, f_file_operation_open_s, fll_error_file_type_file_e); + control_print_error_file(&main->program.error, F_status_debug_source_d, main->setting.path_settings, f_file_operation_open_s, fll_error_file_type_file_e); return; } @@ -101,7 +101,7 @@ extern "C" { f_file_stream_close(&file); if (F_status_is_error(main->setting.state.status)) { - control_print_error_file(&main->program.error, macro_control_f(f_file_stream_read), main->setting.path_settings, f_file_operation_read_s, fll_error_file_type_file_e); + control_print_error_file(&main->program.error, F_status_debug_source_d, main->setting.path_settings, f_file_operation_read_s, fll_error_file_type_file_e); return; } @@ -119,7 +119,7 @@ extern "C" { fll_fss_extended_read(main->cache.large, &main->setting.range, &main->cache.objects, &main->cache.contents, 0, 0, &main->cache.delimits, 0, &main->setting.state); if (F_status_is_error(main->setting.state.status)) { - control_print_error_file(&main->program.error, macro_control_f(fll_fss_extended_read), main->setting.path_settings, f_file_operation_process_s, fll_error_file_type_file_e); + control_print_error_file(&main->program.error, F_status_debug_source_d, main->setting.path_settings, f_file_operation_process_s, fll_error_file_type_file_e); return; } @@ -127,7 +127,7 @@ extern "C" { f_fss_apply_delimit(main->cache.delimits, &main->cache.large, &main->setting.state); if (F_status_is_error(main->setting.state.status)) { - control_print_error_file(&main->program.error, macro_control_f(f_fss_apply_delimit), main->setting.path_settings, f_file_operation_process_s, fll_error_file_type_file_e); + control_print_error_file(&main->program.error, F_status_debug_source_d, main->setting.path_settings, f_file_operation_process_s, fll_error_file_type_file_e); return; } @@ -178,7 +178,7 @@ extern "C" { main->setting.state.status = f_string_dynamic_partial_append_nulless(main->cache.large, main->cache.objects.array[parameter_ats[1]], &main->setting.path_socket); if (F_status_is_error(main->setting.state.status)) { - control_print_error_file(&main->program.error, macro_control_f(f_string_dynamic_partial_append_nulless), main->setting.path_socket, f_file_operation_process_s, fll_error_file_type_file_e); + control_print_error_file(&main->program.error, F_status_debug_source_d, main->setting.path_socket, f_file_operation_process_s, fll_error_file_type_file_e); return; } @@ -193,7 +193,7 @@ extern "C" { if (F_status_is_error(main->setting.state.status) || main->setting.state.status == F_false) { if (F_status_is_error(main->setting.state.status)) { - control_print_error_file(&main->program.error, macro_control_f(f_file_exists), main->setting.path_socket, f_file_operation_find_s, fll_error_file_type_directory_e); + control_print_error_file(&main->program.error, F_status_debug_source_d, main->setting.path_socket, f_file_operation_find_s, fll_error_file_type_directory_e); if (main->program.error.verbosity > f_console_verbosity_quiet_e) { fll_print_dynamic_raw(f_string_eol_s, main->program.error.to); @@ -212,7 +212,7 @@ extern "C" { main->setting.state.status = f_string_dynamic_append_assure(f_path_separator_s, &main->setting.path_socket); if (F_status_is_error(main->setting.state.status)) { - control_print_error(&main->program.error, macro_control_f(f_string_dynamic_append_assure)); + control_print_error(&main->program.error, F_status_debug_source_d); return; } @@ -251,12 +251,7 @@ extern "C" { } if (F_status_is_error(main->setting.state.status)) { - control_print_error( - &main->program.error, - ((append_ids[i] && main->program.parameters.array[append_ids[i]].result & f_console_result_value_d) || !append_hass[i]) - ? macro_control_f(f_string_dynamic_append) - : macro_control_f(f_string_dynamic_partial_append_nulless) - ); + control_print_error(&main->program.error, F_status_debug_source_d); return; } @@ -266,7 +261,7 @@ extern "C" { if (F_status_is_error(main->setting.state.status) || main->setting.state.status == F_false) { if (F_status_is_error(main->setting.state.status)) { - control_print_error_file(&main->program.error, macro_control_f(f_file_exists), main->setting.path_socket, f_file_operation_find_s, fll_error_file_type_directory_e); + control_print_error_file(&main->program.error, F_status_debug_source_d, main->setting.path_socket, f_file_operation_find_s, fll_error_file_type_directory_e); if (main->program.error.verbosity > f_console_verbosity_quiet_e) { fll_print_dynamic_raw(f_string_eol_s, main->program.error.to); @@ -293,7 +288,7 @@ extern "C" { main->setting.state.status = f_socket_create(&main->setting.socket); if (F_status_is_error(main->setting.state.status)) { - control_print_error(&main->program.error, macro_control_f(f_socket_create)); + control_print_error(&main->program.error, F_status_debug_source_d); control_print_error_socket_file_failed(&main->program.error, main->setting.path_socket); @@ -303,7 +298,7 @@ extern "C" { main->setting.state.status = f_socket_connect(&main->setting.socket); if (F_status_is_error(main->setting.state.status)) { - control_print_error(&main->program.error, macro_control_f(f_socket_connect)); + control_print_error(&main->program.error, F_status_debug_source_d); control_print_error_socket_file_failed(&main->program.error, main->setting.path_socket); @@ -362,7 +357,7 @@ extern "C" { main->setting.state.status = f_memory_array_resize(control_default_buffer_limit_soft_large_d, sizeof(f_char_t), (void **) &main->cache.large.string, &main->cache.large.used, &main->cache.large.size); if (F_status_is_error(main->setting.state.status)) { - control_print_error(&main->program.error, macro_control_f(f_memory_array_resize)); + control_print_error(&main->program.error, F_status_debug_source_d); return; } @@ -372,7 +367,7 @@ extern "C" { main->setting.state.status = f_memory_array_increase_by(main->program.parameters.remaining.used, sizeof(f_string_dynamic_t), (void **) &main->setting.actions.array, &main->setting.actions.used, &main->setting.actions.size); if (F_status_is_error(main->setting.state.status)) { - control_print_error(&main->program.error, macro_control_f(f_memory_array_increase_by)); + control_print_error(&main->program.error, F_status_debug_source_d); return; } diff --git a/sources/c/program/control/main/common/print.c b/sources/c/program/control/main/common/print.c index 046aa49..39790a2 100644 --- a/sources/c/program/control/main/common/print.c +++ b/sources/c/program/control/main/common/print.c @@ -4,31 +4,6 @@ extern "C" { #endif -#ifndef _di_control_f_a_ - const f_string_t control_f_a[] = { - "control_packet_build", - "control_packet_process", - "control_packet_receive", - "control_packet_send", - "f_console_parameter_process", - "f_file_exists", - "f_file_stream_open", - "f_file_stream_read", - "f_fss_apply_delimit", - "f_memory_array_increase_by", - "f_memory_array_resize", - "f_socket_connect", - "f_socket_create", - "f_string_dynamic_append", - "f_string_dynamic_append_assure", - "f_string_dynamic_partial_append_nulless", - "f_thread_create", - "fll_fss_extended_read", - "fll_program_parameter_process_context_standard", - "fll_program_parameter_process_verbosity_standard", - }; -#endif // _di_control_f_a_ - #ifdef __cplusplus } // extern "C" #endif diff --git a/sources/c/program/control/main/common/print.h b/sources/c/program/control/main/common/print.h index a60b1e0..794ff1d 100644 --- a/sources/c/program/control/main/common/print.h +++ b/sources/c/program/control/main/common/print.h @@ -17,22 +17,6 @@ extern "C" { #endif /** - * A special array of strings intended for representing funciton names. - * - * These are primarily used for printing errors with the function names. - * - * The macro macro_control_f() is used to reference the array index by the enum name. - * - * macro_control_f(): - * - name: The name of the function. - */ -#ifndef _di_control_f_a_ - extern const f_string_t control_f_a[]; - - #define macro_control_f(name) control_f_a[control_f_##name##_e] -#endif // _di_control_f_a_ - -/** * An enum representing specific indexes within the above array. * * This is a convenience enum used to make code slightly more readable. diff --git a/sources/c/program/control/main/print/error.c b/sources/c/program/control/main/print/error.c index a014454..0e89fda 100644 --- a/sources/c/program/control/main/print/error.c +++ b/sources/c/program/control/main/print/error.c @@ -5,24 +5,24 @@ extern "C" { #endif #ifndef _di_control_print_error_ - f_status_t control_print_error(fl_print_t * const print, const f_string_t function) { + f_status_t control_print_error(fl_print_t * const print, const f_string_t debug) { if (!print || !print->custom) return F_status_set_error(F_output_not); if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fll_error_print(print, F_status_set_fine(((control_main_t *) print->custom)->setting.state.status), function, fll_error_file_flag_fallback_e); + fll_error_print(print, F_status_set_fine(((control_main_t *) print->custom)->setting.state.status), debug, fll_error_file_flag_fallback_e); return F_okay; } #endif // _di_control_print_error_ #ifndef _di_control_print_error_file_ - f_status_t control_print_error_file(fl_print_t * const print, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type) { + f_status_t control_print_error_file(fl_print_t * const print, const f_string_t debug, const f_string_static_t name, const f_string_static_t operation, const uint8_t type) { if (!print || !print->custom) return F_status_set_error(F_output_not); if (print->verbosity < f_console_verbosity_error_e) return F_output_not; - fll_error_file_print(print, F_status_set_fine(((control_main_t *) print->custom)->setting.state.status), function, fll_error_file_flag_fallback_e, name, operation, type); + fll_error_file_print(print, F_status_set_fine(((control_main_t *) print->custom)->setting.state.status), debug, fll_error_file_flag_fallback_e, name, operation, type); return F_okay; } diff --git a/sources/c/program/control/main/print/error.h b/sources/c/program/control/main/print/error.h index d1b9cbb..1a2c499 100644 --- a/sources/c/program/control/main/print/error.h +++ b/sources/c/program/control/main/print/error.h @@ -25,8 +25,10 @@ extern "C" { * This does not alter print.custom.setting.state.status. * * Must not be NULL. - * @param function - * The name of the function associated with the error. + * @param debug + * (optional) The debug details, such as file, line number, and function. + * + * Set to NULL to disable. * * @return * F_okay on success. @@ -37,7 +39,7 @@ extern "C" { * @see fll_error_print() */ #ifndef _di_control_print_error_ - extern f_status_t control_print_error(fl_print_t * const print, const f_string_t function); + extern f_status_t control_print_error(fl_print_t * const print, const f_string_t debug); #endif // _di_control_print_error_ /** @@ -49,9 +51,10 @@ extern "C" { * This does not alter print.custom.setting.state.status. * * Must not be NULL. - * @param function - * The name of the function where the error happened. - * Set to 0 to disable. + * @param debug + * (optional) The debug details, such as file, line number, and function. + * + * Set to NULL to disable. * @param name * The name of the file or directory. * @param operation @@ -68,7 +71,7 @@ extern "C" { * @see fll_error_file_print() */ #ifndef _di_control_print_error_file_ - extern f_status_t control_print_error_file(fl_print_t * const print, const f_string_t function, const f_string_static_t name, const f_string_static_t operation, const uint8_t type); + extern f_status_t control_print_error_file(fl_print_t * const print, const f_string_t debug, const f_string_static_t name, const f_string_static_t operation, const uint8_t type); #endif // _di_control_print_error_file_ /** diff --git a/sources/c/program/control/main/process.c b/sources/c/program/control/main/process.c index 87c9e4e..a321b47 100644 --- a/sources/c/program/control/main/process.c +++ b/sources/c/program/control/main/process.c @@ -54,7 +54,7 @@ extern "C" { control_print_error_request_packet_too_large(&main->program.error); } else { - control_print_error(&main->program.error, macro_control_f(control_packet_build)); + control_print_error(&main->program.error, F_status_debug_source_d); } } @@ -62,7 +62,7 @@ extern "C" { control_packet_send(main); if (F_status_is_error(main->setting.state.status)) { - control_print_error(&main->program.error, macro_control_f(control_packet_send)); + control_print_error(&main->program.error, F_status_debug_source_d); } } @@ -76,7 +76,7 @@ extern "C" { control_print_error_response_packet_valid_not(&main->program.error); } else { - control_print_error(&main->program.error, macro_control_f(control_packet_receive)); + control_print_error(&main->program.error, F_status_debug_source_d); } } else { @@ -85,7 +85,7 @@ extern "C" { // Print the error message only if the error message is not already printed. if (F_status_is_error(main->setting.state.status)) { if (header.type != control_payload_type_error_e && (header.type != control_payload_type_controller_e || F_status_set_fine(main->setting.state.status) != header.status || (header.status != F_failure && header.status != F_busy))) { - control_print_error(&main->program.error, macro_control_f(control_packet_process)); + control_print_error(&main->program.error, F_status_debug_source_d); } } }