* tta/C/texi2any.c (main): fix reading of options to handle options not set at all.
diff --git a/ChangeLog b/ChangeLog index e5874bc..9595a26 100644 --- a/ChangeLog +++ b/ChangeLog
@@ -1,5 +1,10 @@ 2025-03-12 Patrice Dumas <pertusus@free.fr> + * tta/C/texi2any.c (main): fix reading of options to handle options + not set at all. + +2025-03-12 Patrice Dumas <pertusus@free.fr> + * tta/perl/t/test_utils.pl ($XS_conversion, test): get tree before conversion to Texinfo and raw text or only a handler if conversion is with XS.
diff --git a/tta/C/texi2any.c b/tta/C/texi2any.c index 11ce2ed..8092c7c 100644 --- a/tta/C/texi2any.c +++ b/tta/C/texi2any.c
@@ -2502,6 +2502,8 @@ STRING_LIST *converter_include_dirs; STRING_LIST *converter_texinfo_language_config_dirs; char *input_file_path = 0; + char *locale_encoding = 0; + char *input_name_encoding_val = 0; size_t file_path_len; size_t j; OPTIONS_LIST *file_cmdline_options; @@ -2601,15 +2603,20 @@ locale_encoding_option = GNUT_get_conf (program_options.options->LOCALE_ENCODING.number); + if (locale_encoding_option) + locale_encoding = locale_encoding_option->o.string; + + if (input_file_name_encoding_option) + input_name_encoding_val = input_file_name_encoding_option->o.string; + if (!status && ((dump_tree_option && dump_tree_option->o.string) || debug >= 10)) { const char *input_file_names_encoding - = input_file_name_encoding ( - input_file_name_encoding_option->o.string, - doc_encoding_for_input_file_name_option->o.integer, - locale_encoding_option->o.string, - &document->global_info, 0); + = input_file_name_encoding (input_name_encoding_val, + (!(doc_encoding_for_input_file_name_option + && doc_encoding_for_input_file_name_option->o.integer == 0)), + locale_encoding, &document->global_info, 0); char *debug_tree = print_tree_details (document->tree, input_file_names_encoding, test_mode_set); const char *output_encoding = 0; @@ -2807,11 +2814,10 @@ || debug >= 20) { const char *input_file_names_encoding - = input_file_name_encoding ( - input_file_name_encoding_option->o.string, - doc_encoding_for_input_file_name_option->o.integer, - locale_encoding_option->o.string, - &document->global_info, 0); + = input_file_name_encoding (input_name_encoding_val, + (!(doc_encoding_for_input_file_name_option + && doc_encoding_for_input_file_name_option->o.integer == 0)), + locale_encoding, &document->global_info, 0); char *debug_tree = print_tree_details (document->tree, input_file_names_encoding, test_mode_set); const char *output_encoding = 0; @@ -3131,6 +3137,7 @@ char *path_encoding; char *encoded_sort_element_count_file_name; int error_element_count_file = 0; + char *output_file_name_encoding = 0; /* reuse converter options list memory */ clear_options_list (&convert_options); @@ -3159,12 +3166,14 @@ if (!sort_element_count_text) sort_element_count_text = strdup (""); + if (output_file_name_encoding_option) + output_file_name_encoding + = output_file_name_encoding_option->o.string; encoded_sort_element_count_file_name - = encoded_output_file_name ( - output_file_name_encoding_option->o.string, - doc_encoding_for_output_file_name_option->o.integer, - locale_encoding_option->o.string, - &document->global_info, + = encoded_output_file_name (output_file_name_encoding, + (!(doc_encoding_for_output_file_name_option + && doc_encoding_for_output_file_name_option->o.integer == 0)), + locale_encoding, &document->global_info, (char *)sort_element_count_file_name, &path_encoding, 0); free (path_encoding);