texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]


From: Patrice Dumas
Date: Mon, 13 Nov 2023 16:08:40 -0500 (EST)

branch: master
commit d52fbe7748c0cbfc76df6af800ec346536cae4e1
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Mon Nov 13 16:46:13 2023 +0100

    * tp/Texinfo/XS/convert/build_html_perl_state.c,
    tp/Texinfo/XS/convert/call_html_perl_function.c,
    tp/Texinfo/XS/convert/convert_html.c,
    tp/Texinfo/XS/main/builtin_commands.c (element_builtin_data_cmd),
    tp/Texinfo/XS/main/output_unit.c (output_unit_texi),
    tp/Texinfo/XS/main/converter_types.h (FILE_NAME_PATH_COUNTER)
    (SPECIAL_UNIT_DIRECTION, CONVERTER), tp/Texinfo/XS/main/tree_types.h
    (OUTPUT_UNIT), tp/Texinfo/XS/main/utils.h (FILE_SOURCE_INFO): set
    output units and elements to be const whenever relevant to make sure
    that the tree and the output units are not modified.
    
    * tp/Texinfo/XS/main/build_perl_info.c (store_additional_info): set
    input element as const.
---
 ChangeLog                                       |  16 ++++
 tp/Texinfo/XS/convert/build_html_perl_state.c   |  10 +-
 tp/Texinfo/XS/convert/build_html_perl_state.h   |   5 +-
 tp/Texinfo/XS/convert/call_html_perl_function.c |  18 ++--
 tp/Texinfo/XS/convert/call_html_perl_function.h |  15 +--
 tp/Texinfo/XS/convert/convert_html.c            | 117 ++++++++++++------------
 tp/Texinfo/XS/convert/convert_html.h            |   7 +-
 tp/Texinfo/XS/main/build_perl_info.c            |   2 +-
 tp/Texinfo/XS/main/builtin_commands.c           |   2 +-
 tp/Texinfo/XS/main/builtin_commands.h           |   2 +-
 tp/Texinfo/XS/main/converter_types.h            |  16 ++--
 tp/Texinfo/XS/main/output_unit.c                |   2 +-
 tp/Texinfo/XS/main/output_unit.h                |   2 +-
 tp/Texinfo/XS/main/tree_types.h                 |   2 +-
 tp/Texinfo/XS/main/utils.h                      |   2 +-
 15 files changed, 121 insertions(+), 97 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 77c39ea024..40238bb67f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,22 @@
        * tp/Texinfo/XS:
        Run "gnulib-tool --add-import uchar".
 
+2023-11-13  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/XS/convert/build_html_perl_state.c,
+       tp/Texinfo/XS/convert/call_html_perl_function.c,
+       tp/Texinfo/XS/convert/convert_html.c,
+       tp/Texinfo/XS/main/builtin_commands.c (element_builtin_data_cmd),
+       tp/Texinfo/XS/main/output_unit.c (output_unit_texi),
+       tp/Texinfo/XS/main/converter_types.h (FILE_NAME_PATH_COUNTER)
+       (SPECIAL_UNIT_DIRECTION, CONVERTER), tp/Texinfo/XS/main/tree_types.h
+       (OUTPUT_UNIT), tp/Texinfo/XS/main/utils.h (FILE_SOURCE_INFO): set
+       output units and elements to be const whenever relevant to make sure
+       that the tree and the output units are not modified.
+
+       * tp/Texinfo/XS/main/build_perl_info.c (store_additional_info): set
+       input element as const.
+
 2023-11-13  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/XS/convert/indices_in_conversion.c
diff --git a/tp/Texinfo/XS/convert/build_html_perl_state.c 
b/tp/Texinfo/XS/convert/build_html_perl_state.c
index 9d60abbbce..b0d3e7551a 100644
--- a/tp/Texinfo/XS/convert/build_html_perl_state.c
+++ b/tp/Texinfo/XS/convert/build_html_perl_state.c
@@ -261,7 +261,7 @@ build_html_files_source_info (FILE_SOURCE_INFO_LIST 
*files_source_info)
 }
 
 HV *
-build_html_global_units_directions (OUTPUT_UNIT **global_units_directions,
+build_html_global_units_directions (const OUTPUT_UNIT 
**global_units_directions,
                        SPECIAL_UNIT_DIRECTION *special_units_direction_name)
 {
   int i;
@@ -291,7 +291,7 @@ build_html_global_units_directions (OUTPUT_UNIT 
**global_units_directions,
       SPECIAL_UNIT_DIRECTION *special_unit_direction
        = &special_units_direction_name[i];
       char *direction_name = special_unit_direction->direction;
-      OUTPUT_UNIT *output_unit = special_unit_direction->output_unit;
+      const OUTPUT_UNIT *output_unit = special_unit_direction->output_unit;
       hv_store (hv, direction_name, strlen (direction_name),
                   newRV_inc ((SV *) output_unit->hv), 0);
     }
@@ -301,7 +301,7 @@ build_html_global_units_directions (OUTPUT_UNIT 
**global_units_directions,
 
 void
 pass_html_global_units_directions (SV *converter_sv,
-                       OUTPUT_UNIT **global_units_directions,
+                       const OUTPUT_UNIT **global_units_directions,
                        SPECIAL_UNIT_DIRECTION *special_units_direction_name)
 {
   HV *global_units_directions_hv;
@@ -999,7 +999,7 @@ build_html_formatting_state (CONVERTER *converter, unsigned 
long flags)
 }
 
 SV *
-build_html_command_formatted_args (HTML_ARGS_FORMATTED *args_formatted)
+build_html_command_formatted_args (const HTML_ARGS_FORMATTED *args_formatted)
 {
   AV *av;
   int i;
@@ -1013,7 +1013,7 @@ build_html_command_formatted_args (HTML_ARGS_FORMATTED 
*args_formatted)
 
   for (i = 0; i < args_formatted->number; i++)
     {
-      HTML_ARG_FORMATTED *arg_formatted = &args_formatted->args[i];
+      const HTML_ARG_FORMATTED *arg_formatted = &args_formatted->args[i];
       if (arg_formatted->tree)
         {
           int j;
diff --git a/tp/Texinfo/XS/convert/build_html_perl_state.h 
b/tp/Texinfo/XS/convert/build_html_perl_state.h
index ace069605f..09800f5358 100644
--- a/tp/Texinfo/XS/convert/build_html_perl_state.h
+++ b/tp/Texinfo/XS/convert/build_html_perl_state.h
@@ -23,7 +23,7 @@ void pass_converter_errors (ERROR_MESSAGE_LIST 
*error_messages,
 
 SV *build_html_files_source_info (FILE_SOURCE_INFO_LIST *files_source_info);
 void pass_html_global_units_directions (SV *converter_sv,
-                       OUTPUT_UNIT **global_units_directions,
+                       const OUTPUT_UNIT **global_units_directions,
                        SPECIAL_UNIT_DIRECTION *special_units_direction_name);
 void pass_html_elements_in_file_count (SV *converter_sv,
                    FILE_NAME_PATH_COUNTER_LIST *output_unit_files);
@@ -32,6 +32,7 @@ HV *build_html_document_context (HTML_DOCUMENT_CONTEXT 
*document_context);
 
 SV *build_html_formatting_state (CONVERTER *converter, unsigned long flags);
 
-SV *build_html_command_formatted_args (HTML_ARGS_FORMATTED *args_formatted);
+SV *build_html_command_formatted_args
+           (const HTML_ARGS_FORMATTED *args_formatted);
 SV *build_replaced_substrings (NAMED_STRING_ELEMENT_LIST *replaced_substrings);
 #endif
diff --git a/tp/Texinfo/XS/convert/call_html_perl_function.c 
b/tp/Texinfo/XS/convert/call_html_perl_function.c
index fc88d75587..8ab6633149 100644
--- a/tp/Texinfo/XS/convert/call_html_perl_function.c
+++ b/tp/Texinfo/XS/convert/call_html_perl_function.c
@@ -552,7 +552,7 @@ call_formatting_function_format_footnotes_segment 
(CONVERTER *self)
 
 char *
 call_formatting_function_format_end_file (CONVERTER *self, char *filename,
-                                          OUTPUT_UNIT *output_unit)
+                                          const OUTPUT_UNIT *output_unit)
 {
   int count;
   char *result;
@@ -617,7 +617,7 @@ call_formatting_function_format_end_file (CONVERTER *self, 
char *filename,
 
 char *
 call_formatting_function_format_begin_file (CONVERTER *self, char *filename,
-                                          OUTPUT_UNIT *output_unit)
+                                            const OUTPUT_UNIT *output_unit)
 {
   int count;
   char *result;
@@ -749,7 +749,7 @@ call_formatting_function_format_translate_message 
(CONVERTER *self,
 char *
 call_types_conversion (CONVERTER *self, enum element_type type,
                        FORMATTING_REFERENCE *formatting_reference,
-                       ELEMENT *element, char *content)
+                       const ELEMENT *element, char *content)
 {
   int count;
   char *result;
@@ -818,7 +818,7 @@ call_types_conversion (CONVERTER *self, enum element_type 
type,
 
 char *
 call_types_open (CONVERTER *self, enum element_type type,
-                 ELEMENT *element)
+                 const ELEMENT *element)
 {
   int count;
   char *result;
@@ -885,7 +885,8 @@ call_types_open (CONVERTER *self, enum element_type type,
 char *
 call_commands_conversion (CONVERTER *self, enum command_id cmd,
                           FORMATTING_REFERENCE *formatting_reference,
-                          ELEMENT *element, HTML_ARGS_FORMATTED 
*args_formatted,
+                          const ELEMENT *element,
+                          const HTML_ARGS_FORMATTED *args_formatted,
                           const char *content)
 {
   int count;
@@ -963,7 +964,7 @@ call_commands_conversion (CONVERTER *self, enum command_id 
cmd,
 
 char *
 call_commands_open (CONVERTER *self, enum command_id cmd,
-                    ELEMENT *element)
+                    const ELEMENT *element)
 {
   int count;
   char *result;
@@ -1033,8 +1034,9 @@ call_commands_open (CONVERTER *self, enum command_id cmd,
 
 char *
 call_output_units_conversion (CONVERTER *self,
-                               enum output_unit_type unit_type,
-                               OUTPUT_UNIT *output_unit, const char *content)
+                              enum output_unit_type unit_type,
+                              const OUTPUT_UNIT *output_unit,
+                              const char *content)
 {
   int count;
   char *result;
diff --git a/tp/Texinfo/XS/convert/call_html_perl_function.h 
b/tp/Texinfo/XS/convert/call_html_perl_function.h
index c326fb7e9e..01ab7a2301 100644
--- a/tp/Texinfo/XS/convert/call_html_perl_function.h
+++ b/tp/Texinfo/XS/convert/call_html_perl_function.h
@@ -41,25 +41,26 @@ char *call_formatting_function_format_title_titlepage 
(CONVERTER *self);
 char *call_formatting_function_format_footnotes_segment (CONVERTER *self);
 char *call_formatting_function_format_end_file (CONVERTER *self,
                                                 char *filename,
-                                              OUTPUT_UNIT *output_unit);
+                                         const OUTPUT_UNIT *output_unit);
 char *call_formatting_function_format_begin_file (CONVERTER *self,
                                                  char *filename,
-                                              OUTPUT_UNIT *output_unit);
+                                         const OUTPUT_UNIT *output_unit);
 
 char *call_types_conversion (CONVERTER *self, enum element_type type,
                        FORMATTING_REFERENCE *formatting_reference,
-                       ELEMENT *element, char *content);
+                       const ELEMENT *element, char *content);
 char *call_types_open (CONVERTER *self, enum element_type type,
-                       ELEMENT *element);
+                       const ELEMENT *element);
 char *call_commands_conversion (CONVERTER *self, enum command_id cmd,
                           FORMATTING_REFERENCE *formatting_reference,
-                          ELEMENT *element, HTML_ARGS_FORMATTED 
*args_formatted,
+                          const ELEMENT *element,
+                          const HTML_ARGS_FORMATTED *args_formatted,
                           const char *content);
 char *call_commands_open (CONVERTER *self, enum command_id cmd,
-                          ELEMENT *element);
+                          const ELEMENT *element);
 char *call_output_units_conversion (CONVERTER *self,
                                     enum output_unit_type unit_type,
-                                OUTPUT_UNIT *output_unit, const char *content);
+                        const OUTPUT_UNIT *output_unit, const char *content);
 char *call_formatting_function_format_translate_message (CONVERTER *self,
                                   const char *message, const char *lang,
                                   const char *message_context);
diff --git a/tp/Texinfo/XS/convert/convert_html.c 
b/tp/Texinfo/XS/convert/convert_html.c
index 289182406b..c80d851419 100644
--- a/tp/Texinfo/XS/convert/convert_html.c
+++ b/tp/Texinfo/XS/convert/convert_html.c
@@ -46,8 +46,8 @@
 
 
 typedef struct ROOT_AND_UNIT {
-    OUTPUT_UNIT *output_unit;
-    ELEMENT *root;
+    const OUTPUT_UNIT *output_unit;
+    const ELEMENT *root;
 } ROOT_AND_UNIT;
 
 typedef struct CMD_VARIETY {
@@ -171,7 +171,7 @@ static COMMAND_ARGS_SPECIFICATION 
command_args_flags[BUILTIN_CMD_NUMBER];
 
 
 
-static void convert_to_html_internal (CONVERTER *self, ELEMENT *e,
+static void convert_to_html_internal (CONVERTER *self, const ELEMENT *e,
                                       TEXT *result, char *explanation);
 
 /*
@@ -179,11 +179,11 @@ static void convert_to_html_internal (CONVERTER *self, 
ELEMENT *e,
  top output unit is not found.
  */
 static OUTPUT_UNIT *
-get_top_unit (DOCUMENT *document, OUTPUT_UNIT_LIST *output_units)
+get_top_unit (DOCUMENT *document, const OUTPUT_UNIT_LIST *output_units)
 {
-  ELEMENT *node_top = find_identifier_target
+  const ELEMENT *node_top = find_identifier_target
                           (document->identifiers_target, "Top");
-  ELEMENT *section_top = document->global_commands->top;
+  const ELEMENT *section_top = document->global_commands->top;
 
   if (section_top)
     return section_top->associated_unit;
@@ -216,12 +216,12 @@ special_unit_variety_direction_index (CONVERTER *self,
   and not set to the element at the tree root
  */
 static ROOT_AND_UNIT *
-html_get_tree_root_element (CONVERTER *self, ELEMENT *command,
+html_get_tree_root_element (CONVERTER *self, const ELEMENT *command,
                             int find_container)
 {
-  ELEMENT *current = command;
-  OUTPUT_UNIT *output_unit = 0;
-  ELEMENT *root_command = 0;
+  const ELEMENT *current = command;
+  const OUTPUT_UNIT *output_unit = 0;
+  const ELEMENT *root_command = 0;
 
   while (1)
     {
@@ -238,18 +238,18 @@ html_get_tree_root_element (CONVERTER *self, ELEMENT 
*command,
       else if (current->cmd && (builtin_command_flags(current) & CF_block)
                && builtin_command_data[current->cmd].data == BLOCK_region)
         {
-          OUTPUT_UNIT_LIST *output_units
+          const OUTPUT_UNIT_LIST *output_units
              = retrieve_output_units (self->document_units_descriptor);
           if (current->cmd == CM_copying
               && self->document->global_commands
                       ->insertcopying.contents.number > 0)
             {
-              ELEMENT global_insertcopying
+              const ELEMENT global_insertcopying
                 = self->document->global_commands->insertcopying;
               int i;
               for (i = 0; i < global_insertcopying.contents.number; i++)
                 {
-                  ELEMENT *insertcopying
+                  const ELEMENT *insertcopying
                       = global_insertcopying.contents.list[i];
                   ROOT_AND_UNIT *cur_result = html_get_tree_root_element (self,
                                                 insertcopying, find_container);
@@ -289,7 +289,7 @@ html_get_tree_root_element (CONVERTER *self, ELEMENT 
*command,
                   int special_unit_direction_index
                     = special_unit_variety_direction_index (self,
                                                 special_unit_variety);
-                  OUTPUT_UNIT *special_unit
+                  const OUTPUT_UNIT *special_unit
                 = self->global_units_directions[special_unit_direction_index];
                   if (special_unit)
                     {
@@ -591,7 +591,7 @@ prepare_special_units (CONVERTER *self, int 
output_units_descriptor,
               else
                 {
                   OUTPUT_UNIT *special_output_unit = 0;
-                  OUTPUT_UNIT *associated_output_unit = 0;
+                  const OUTPUT_UNIT *associated_output_unit = 0;
                   if (!strcmp (contents_location, "after_title"))
                     {
                       if (output_units->number > 0)
@@ -623,7 +623,7 @@ prepare_special_units (CONVERTER *self, int 
output_units_descriptor,
                           int i;
                           for (i = 0; i < global_command->contents.number; i++)
                             {
-                              ELEMENT *command = 
global_command->contents.list[i];
+                              const ELEMENT *command = 
global_command->contents.list[i];
                               ROOT_AND_UNIT *root_unit
                                = html_get_tree_root_element (self, command, 0);
                               if (root_unit->output_unit)
@@ -1488,10 +1488,11 @@ html_prepare_output_units_global_targets (CONVERTER 
*self,
   int i;
   int all_special_units_nr = 0;
   int s;
-  OUTPUT_UNIT_LIST *output_units
+  const OUTPUT_UNIT_LIST *output_units
     = retrieve_output_units (output_units_descriptor);
 
-  OUTPUT_UNIT *top_output_unit = get_top_unit (self->document, output_units);
+  const OUTPUT_UNIT *top_output_unit = get_top_unit (self->document,
+                                                     output_units);
 
   int special_output_units_lists[2] = {special_units_descriptor,
                                        associated_special_units_descriptor};
@@ -1507,17 +1508,17 @@ html_prepare_output_units_global_targets (CONVERTER 
*self,
    */
   if (self->document->global_commands->printindex.contents.number > 0)
     {
-      ELEMENT *printindex
+      const ELEMENT *printindex
         = self->document->global_commands->printindex.contents.list[0];
       ROOT_AND_UNIT *root_unit
         = html_get_tree_root_element (self, printindex, 0);
       if (root_unit->output_unit)
         {
-          OUTPUT_UNIT *document_unit = root_unit->output_unit;
-          ELEMENT *root_command = root_unit->root;
+          const OUTPUT_UNIT *document_unit = root_unit->output_unit;
+          const ELEMENT *root_command = root_unit->root;
           if (root_command && root_command->cmd == CM_node)
             {
-              ELEMENT *associated_section
+              const ELEMENT *associated_section
                 = lookup_extra_element (root_command, "associated_section");
               if (associated_section)
                 root_command = associated_section;
@@ -1535,7 +1536,7 @@ html_prepare_output_units_global_targets (CONVERTER *self,
                   if (!status && section_level <= 1)
                     break;
 
-                  ELEMENT *up_section_directions
+                  const ELEMENT *up_section_directions
                     = lookup_extra_element (root_command, 
"section_directions");
                   if (up_section_directions
                       && up_section_directions->contents.list[D_up]
@@ -1562,7 +1563,7 @@ html_prepare_output_units_global_targets (CONVERTER *self,
         {
           if (self->global_units_directions[i])
             {
-              OUTPUT_UNIT *global_unit = self->global_units_directions[i];
+              const OUTPUT_UNIT *global_unit = 
self->global_units_directions[i];
               char *unit_texi = output_unit_texi (global_unit);
               fprintf (stderr, " %s: %s\n", 
html_global_unit_direction_names[i],
                                             unit_texi);
@@ -1578,7 +1579,7 @@ html_prepare_output_units_global_targets (CONVERTER *self,
   for (i = 0; i < 2; i++)
     {
       int special_units_descriptor = special_output_units_lists[i];
-      OUTPUT_UNIT_LIST *units_list
+      const OUTPUT_UNIT_LIST *units_list
        = retrieve_output_units (special_units_descriptor);
       if (units_list && units_list->number)
         all_special_units_nr += units_list->number;
@@ -1600,7 +1601,7 @@ html_prepare_output_units_global_targets (CONVERTER *self,
           int j;
           for (j = 0; j < units_list->number; j++)
             {
-              OUTPUT_UNIT *special_unit = units_list->list[j];
+              const OUTPUT_UNIT *special_unit = units_list->list[j];
               char *special_unit_variety = special_unit->special_unit_variety;
               int special_unit_direction_index
                 = special_unit_variety_direction_index (self,
@@ -1621,7 +1622,7 @@ html_prepare_output_units_global_targets (CONVERTER *self,
 static void
 set_file_source_info (FILE_SOURCE_INFO *file_source_info,
                           char *file_info_type, char *file_info_name,
-                          ELEMENT *file_info_element, char *filepath)
+                          const ELEMENT *file_info_element, char *filepath)
 {
   file_source_info->type = file_info_type;
   file_source_info->name = file_info_name;
@@ -1633,7 +1634,7 @@ static FILE_SOURCE_INFO *
 add_to_files_source_info (FILE_SOURCE_INFO_LIST *files_source_info,
                           char *filename,
                           char *file_info_type, char *file_info_name,
-                          ELEMENT *file_info_element, char *filepath)
+                          const ELEMENT *file_info_element, char *filepath)
 {
   FILE_SOURCE_INFO *new_file_source_info;
   if (files_source_info->number == files_source_info->space)
@@ -2116,7 +2117,7 @@ html_set_pages_files (CONVERTER *self, OUTPUT_UNIT_LIST 
*output_units,
         {
           char *filename = 0;
           OUTPUT_UNIT *special_unit = associated_special_units->list[i];
-          OUTPUT_UNIT *associated_output_unit
+          const OUTPUT_UNIT *associated_output_unit
             = special_unit->associated_document_unit;
           ELEMENT *unit_command = special_unit->unit_command;
           HTML_TARGET *element_target
@@ -2220,7 +2221,7 @@ html_prepare_units_directions_files (CONVERTER *self,
 
 static char *
 command_conversion (CONVERTER *self, enum command_id cmd,
-                    ELEMENT *element, HTML_ARGS_FORMATTED *args_formatted,
+                    const ELEMENT *element, HTML_ARGS_FORMATTED 
*args_formatted,
                     char *content)
 {
   /* TODO call a C function if status is FRS_status_default_set
@@ -2242,7 +2243,7 @@ command_conversion (CONVERTER *self, enum command_id cmd,
 }
 
 static char *
-command_open (CONVERTER *self, enum command_id cmd, ELEMENT *element)
+command_open (CONVERTER *self, enum command_id cmd, const ELEMENT *element)
 {
   /* TODO call a C function if status is FRS_status_default_set
      maybe putting function references in an array */
@@ -2253,7 +2254,7 @@ command_open (CONVERTER *self, enum command_id cmd, 
ELEMENT *element)
 
 static char *
 type_conversion (CONVERTER *self, enum element_type type,
-                 ELEMENT *element, char *content)
+                 const ELEMENT *element, char *content)
 {
   /* TODO call a C function if status is FRS_status_default_set
      maybe putting function references in an array */
@@ -2268,7 +2269,7 @@ type_conversion (CONVERTER *self, enum element_type type,
 }
 
 static char *
-type_open (CONVERTER *self, enum element_type type, ELEMENT *element)
+type_open (CONVERTER *self, enum element_type type, const ELEMENT *element)
 {
   /* TODO call a C function if status is FRS_status_default_set
      maybe putting function references in an array */
@@ -2492,7 +2493,7 @@ html_converter_initialize (CONVERTER *self)
     }
 
   self->global_units_directions
-    = (OUTPUT_UNIT **) malloc ((D_Last + nr_special_units+1)
+    = (const OUTPUT_UNIT **) malloc ((D_Last + nr_special_units+1)
                                * sizeof (OUTPUT_UNIT));
 
   /* note that we allocate the same size as no_arg_formatted_cmd
@@ -2698,7 +2699,7 @@ html_destroy (CONVERTER *self)
 }
 
 char *
-html_convert_tree (CONVERTER *self, ELEMENT *tree, char *explanation)
+html_convert_tree (CONVERTER *self, const ELEMENT *tree, char *explanation)
 {
   TEXT result;
   text_init (&result);
@@ -2958,7 +2959,7 @@ html_translate_names (CONVERTER *self)
        = special_unit_variety_direction_index (self, special_unit_variety);
       if (special_unit_direction_index >= 0)
         {
-          OUTPUT_UNIT *special_unit
+          const OUTPUT_UNIT *special_unit
            = self->global_units_directions[special_unit_direction_index];
           if (special_unit)
              {
@@ -3088,7 +3089,7 @@ destroy_args_formatted (HTML_ARGS_FORMATTED 
*args_formatted)
 
 /* EXPLANATION is used for debugging */
 void
-convert_to_html_internal (CONVERTER *self, ELEMENT *element,
+convert_to_html_internal (CONVERTER *self, const ELEMENT *element,
                           TEXT *result, char *explanation)
 {
   /* for debugging, for explanations */
@@ -3193,8 +3194,9 @@ convert_to_html_internal (CONVERTER *self, ELEMENT 
*element,
         {
           char *translation_context
             = lookup_extra_string (element, "translation_context");
-          ELEMENT *translated = html_gdt_tree (element->text.text, 
self->document,
-                                    self, 0, translation_context, 0);
+          const ELEMENT *translated = html_gdt_tree (element->text.text,
+                                      self->document,
+                                      self, 0, translation_context, 0);
 
           convert_to_html_internal (self, translated, &text_result,
                                     "translated TEXT");
@@ -3882,7 +3884,7 @@ convert_to_html_internal (CONVERTER *self, ELEMENT 
*element,
 
 static char *
 output_unit_conversion (CONVERTER *self, enum output_unit_type unit_type,
-                        OUTPUT_UNIT *output_unit, const char *content)
+                        const OUTPUT_UNIT *output_unit, const char *content)
 {
   /* TODO call a C function if status is FRS_status_default_set
      maybe putting function references in an array */
@@ -3892,7 +3894,7 @@ output_unit_conversion (CONVERTER *self, enum 
output_unit_type unit_type,
 }
 
 char *
-convert_output_unit (CONVERTER *self, OUTPUT_UNIT *output_unit,
+convert_output_unit (CONVERTER *self, const OUTPUT_UNIT *output_unit,
                      char *explanation)
 {
   char *result = 0;
@@ -3910,7 +3912,7 @@ convert_output_unit (CONVERTER *self, OUTPUT_UNIT 
*output_unit,
 
   if (self->conf->DEBUG > 0)
     {
-      char *output_unit_txi = output_unit_texi(output_unit);
+      char *output_unit_txi = output_unit_texi (output_unit);
       fprintf (stderr, "XS|UNIT(%s) -> ou: %s '%s'\n", explanation,
                   output_unit_type_names[unit_type],
                   output_unit_txi);
@@ -3966,7 +3968,7 @@ convert_output_unit (CONVERTER *self, OUTPUT_UNIT 
*output_unit,
 /* wrapper to avoid code repetition and use similar functions as in perl */
 void
 convert_convert_output_unit_internal (CONVERTER *self, TEXT *result,
-                                   OUTPUT_UNIT *output_unit, int unit_nr,
+                                   const OUTPUT_UNIT *output_unit, int unit_nr,
                                    char *debug_str, char *explanation_str)
 {
   char *explanation;
@@ -3984,15 +3986,15 @@ convert_convert_output_unit_internal (CONVERTER *self, 
TEXT *result,
 }
 
 char *
-html_convert_convert (CONVERTER *self, ELEMENT *root,
+html_convert_convert (CONVERTER *self, const ELEMENT *root,
                       int output_units_descriptor,
                       int special_units_descriptor)
 {
   TEXT result;
 
-  OUTPUT_UNIT_LIST *output_units
+  const OUTPUT_UNIT_LIST *output_units
     = retrieve_output_units (output_units_descriptor);
-  OUTPUT_UNIT_LIST *special_units
+  const OUTPUT_UNIT_LIST *special_units
     = retrieve_output_units (special_units_descriptor);
 
   text_init (&result);
@@ -4020,7 +4022,7 @@ html_convert_convert (CONVERTER *self, ELEMENT *root,
       int i;
       for (i = 0; i < output_units->number; i++)
         {
-          OUTPUT_UNIT *output_unit = output_units->list[i];
+          const OUTPUT_UNIT *output_unit = output_units->list[i];
           convert_convert_output_unit_internal (self, &result, output_unit,
                                 unit_nr, "C UNIT", "convert unit");
           unit_nr++;
@@ -4029,7 +4031,7 @@ html_convert_convert (CONVERTER *self, ELEMENT *root,
         {
           for (i = 0; i < special_units->number; i++)
             {
-              OUTPUT_UNIT *special_unit = special_units->list[i];
+              const OUTPUT_UNIT *special_unit = special_units->list[i];
               convert_convert_output_unit_internal (self, &result,
                         special_unit, unit_nr, "C UNIT", "convert unit");
               unit_nr++;
@@ -4043,7 +4045,8 @@ int
 convert_output_output_unit_internal (CONVERTER *self,
                                      ENCODING_CONVERSION *conversion,
                                      TEXT *text,
-                                     OUTPUT_UNIT *output_unit, int unit_nr)
+                                     const OUTPUT_UNIT *output_unit,
+                                     int unit_nr)
 {
   FILE_NAME_PATH_COUNTER *unit_file = 0;
   size_t file_index;
@@ -4114,7 +4117,7 @@ convert_output_output_unit_internal (CONVERTER *self,
 
   if (unit_file->counter == 0)
     {
-      OUTPUT_UNIT *file_output_unit = unit_file->first_unit;
+      const OUTPUT_UNIT *file_output_unit = unit_file->first_unit;
       char *file_end;
       char *file_beginning;
       char *out_filepath = unit_file->filepath;
@@ -4221,7 +4224,7 @@ html_prepare_title_titlepage (CONVERTER *self, int 
output_units_descriptor,
 }
 
 char *
-html_convert_output (CONVERTER *self, ELEMENT *root,
+html_convert_output (CONVERTER *self, const ELEMENT *root,
                      int output_units_descriptor,
                      int special_units_descriptor,
                      char *output_file, char *destination_directory,
@@ -4231,9 +4234,9 @@ html_convert_output (CONVERTER *self, ELEMENT *root,
   TEXT result;
   TEXT text; /* reused for all the output units */
 
-  OUTPUT_UNIT_LIST *output_units
+  const OUTPUT_UNIT_LIST *output_units
     = retrieve_output_units (output_units_descriptor);
-  OUTPUT_UNIT_LIST *special_units
+  const OUTPUT_UNIT_LIST *special_units
     = retrieve_output_units (special_units_descriptor);
 
   text_init (&result);
@@ -4258,7 +4261,7 @@ html_convert_output (CONVERTER *self, ELEMENT *root,
           int i;
           for (i = 0; i < output_units->number; i++)
             {
-              OUTPUT_UNIT *output_unit = output_units->list[i];
+              const OUTPUT_UNIT *output_unit = output_units->list[i];
               convert_convert_output_unit_internal (self, &text, output_unit,
                              unit_nr, "UNIT NO-PAGE", "no-page output unit");
               unit_nr++;
@@ -4270,7 +4273,7 @@ html_convert_output (CONVERTER *self, ELEMENT *root,
             {
               for (i = 0; i < special_units->number; i++)
                 {
-                  OUTPUT_UNIT *special_unit = special_units->list[i];
+                  const OUTPUT_UNIT *special_unit = special_units->list[i];
                   convert_convert_output_unit_internal (self, &text,
                                  special_unit, unit_nr, "UNIT NO-PAGE",
                                  "no-page output unit");
@@ -4333,7 +4336,7 @@ html_convert_output (CONVERTER *self, ELEMENT *root,
 
       for (i = 0; i < output_units->number; i++)
         {
-          OUTPUT_UNIT *output_unit = output_units->list[i];
+          const OUTPUT_UNIT *output_unit = output_units->list[i];
           status = convert_output_output_unit_internal (self, conversion,
                                                &text, output_unit, unit_nr);
           if (!status)
@@ -4350,7 +4353,7 @@ html_convert_output (CONVERTER *self, ELEMENT *root,
         {
           for (i = 0; i < special_units->number; i++)
             {
-              OUTPUT_UNIT *special_unit = special_units->list[i];
+              const OUTPUT_UNIT *special_unit = special_units->list[i];
               status = convert_output_output_unit_internal (self, conversion,
                                                 &text, special_unit, unit_nr);
               if (!status)
diff --git a/tp/Texinfo/XS/convert/convert_html.h 
b/tp/Texinfo/XS/convert/convert_html.h
index 578ff23fbd..85d39a3648 100644
--- a/tp/Texinfo/XS/convert/convert_html.h
+++ b/tp/Texinfo/XS/convert/convert_html.h
@@ -53,12 +53,13 @@ void html_translate_names (CONVERTER *self);
 void html_prepare_title_titlepage (CONVERTER *self, int 
output_units_descriptor,
                                    char *output_file, char *output_filename);
 
-char *html_convert_convert (CONVERTER *self, ELEMENT *root,
+char *html_convert_convert (CONVERTER *self, const ELEMENT *root,
                             int output_units_descriptor,
                             int special_units_descriptor);
-char *html_convert_tree (CONVERTER *self, ELEMENT *tree, char *explanation);
+char *html_convert_tree (CONVERTER *self, const ELEMENT *tree,
+                         char *explanation);
 
-char *html_convert_output (CONVERTER *self, ELEMENT *root,
+char *html_convert_output (CONVERTER *self, const ELEMENT *root,
                            int output_units_descriptor,
                            int special_units_descriptor,
                            char *output_file, char *destination_directory,
diff --git a/tp/Texinfo/XS/main/build_perl_info.c 
b/tp/Texinfo/XS/main/build_perl_info.c
index fb1370b90a..384263e275 100644
--- a/tp/Texinfo/XS/main/build_perl_info.c
+++ b/tp/Texinfo/XS/main/build_perl_info.c
@@ -220,7 +220,7 @@ newSVpv_byte (const char *str, STRLEN len)
 }
 
 static void
-store_additional_info (ELEMENT *e, ASSOCIATED_INFO* a, char *key)
+store_additional_info (const ELEMENT *e, ASSOCIATED_INFO* a, char *key)
 {
   dTHX;
 
diff --git a/tp/Texinfo/XS/main/builtin_commands.c 
b/tp/Texinfo/XS/main/builtin_commands.c
index f213d2d835..adb75442e4 100644
--- a/tp/Texinfo/XS/main/builtin_commands.c
+++ b/tp/Texinfo/XS/main/builtin_commands.c
@@ -110,7 +110,7 @@ element_builtin_cmd (const ELEMENT *e)
 /* map user-defined element commands to internal commands with the right
    flags associated */
 enum command_id
-element_builtin_data_cmd (ELEMENT *e)
+element_builtin_data_cmd (const ELEMENT *e)
 {
   if (e->cmd == CM_item
       && e->parent->type == ET_table_term)
diff --git a/tp/Texinfo/XS/main/builtin_commands.h 
b/tp/Texinfo/XS/main/builtin_commands.h
index cd4847ce7e..f20d8f58a5 100644
--- a/tp/Texinfo/XS/main/builtin_commands.h
+++ b/tp/Texinfo/XS/main/builtin_commands.h
@@ -38,7 +38,7 @@ extern COMMAND builtin_command_data[];
 enum command_id lookup_builtin_command (char *cmdname);
 char *element_command_name (const ELEMENT *e);
 enum command_id element_builtin_cmd (const ELEMENT *e);
-enum command_id element_builtin_data_cmd (ELEMENT *e);
+enum command_id element_builtin_data_cmd (const ELEMENT *e);
 
 /* Base command flags, .flags in COMMAND */
 
diff --git a/tp/Texinfo/XS/main/converter_types.h 
b/tp/Texinfo/XS/main/converter_types.h
index 517984fd1e..40d233fc54 100644
--- a/tp/Texinfo/XS/main/converter_types.h
+++ b/tp/Texinfo/XS/main/converter_types.h
@@ -257,7 +257,7 @@ typedef struct FILE_NAME_PATH_COUNTER {
     int elements_in_file_count; /* only used in HTML, corresponds to
                                    'elements_in_file_count' */
     TEXT body;           /* file body output, used for HTML */
-    OUTPUT_UNIT *first_unit;
+    const OUTPUT_UNIT *first_unit;
     int counter_changed;  /* indicator to determine if the file has already
                              been setup for change in counter passed to perl */
 } FILE_NAME_PATH_COUNTER;
@@ -285,7 +285,7 @@ typedef struct OUTPUT_FILES_INFORMATION {
 } OUTPUT_FILES_INFORMATION;
 
 typedef struct SPECIAL_UNIT_DIRECTION {
-    OUTPUT_UNIT *output_unit;
+    const OUTPUT_UNIT *output_unit;
     char *direction;
 } SPECIAL_UNIT_DIRECTION;
 
@@ -382,7 +382,7 @@ typedef struct CONVERTER {
     HTML_COMMAND_CONVERSION 
html_command_conversion[BUILTIN_CMD_NUMBER][HCC_type_css_string+1];
 
     /* set for a document */
-    OUTPUT_UNIT **global_units_directions;
+    const OUTPUT_UNIT **global_units_directions;
     SPECIAL_UNIT_DIRECTION *special_units_direction_name;
     ELEMENT **special_unit_info_tree[SUIT_type_heading+1];
     STRING_LIST seen_ids;
@@ -398,8 +398,8 @@ typedef struct CONVERTER {
 
     /* state only in C converter */
     unsigned long modified_state; /* specifies which perl state to rebuild */
-    ELEMENT *tree_to_build; /* C tree that needs to be built to perl before
-                               calling perl functions on it */
+    ELEMENT *tree_to_build; /* C tree that needs to be built to perl
+                               before calling perl functions on it */
     COMMAND_ID_LIST no_arg_formatted_cmd_translated; /* list of commands that
                          were translated and need to be passed back to perl */
     ELEMENT_LIST reset_target_commands; /* element targets that should have
@@ -420,9 +420,9 @@ typedef struct CONVERTER {
     /* state common with perl converter */
     int document_global_context;
     int ignore_notice;
-    ELEMENT *current_root_command;
-    ELEMENT *current_node;
-    OUTPUT_UNIT *current_output_unit;
+    const ELEMENT *current_root_command;
+    const ELEMENT *current_node;
+    const OUTPUT_UNIT *current_output_unit;
     HTML_DOCUMENT_CONTEXT_STACK html_document_context;
     STRING_STACK multiple_pass;
     char *current_filename;
diff --git a/tp/Texinfo/XS/main/output_unit.c b/tp/Texinfo/XS/main/output_unit.c
index ea2da313f6..a4fa71cefa 100644
--- a/tp/Texinfo/XS/main/output_unit.c
+++ b/tp/Texinfo/XS/main/output_unit.c
@@ -397,7 +397,7 @@ split_pages (OUTPUT_UNIT_LIST *output_units, char *split)
 
 /* return to be freed by the caller */
 char *
-output_unit_texi (OUTPUT_UNIT *output_unit)
+output_unit_texi (const OUTPUT_UNIT *output_unit)
 {
   ELEMENT *unit_command;
 
diff --git a/tp/Texinfo/XS/main/output_unit.h b/tp/Texinfo/XS/main/output_unit.h
index 76ec30e490..4763b5f0e3 100644
--- a/tp/Texinfo/XS/main/output_unit.h
+++ b/tp/Texinfo/XS/main/output_unit.h
@@ -18,7 +18,7 @@ OUTPUT_UNIT *new_output_unit (enum output_unit_type 
unit_type);
 void add_to_output_unit_list (OUTPUT_UNIT_LIST *list,
                               OUTPUT_UNIT *output_unit);
 
-char *output_unit_texi (OUTPUT_UNIT *output_unit);
+char *output_unit_texi (const OUTPUT_UNIT *output_unit);
 
 void units_directions (OPTIONS *customization_information,
                        LABEL_LIST *identifiers_target,
diff --git a/tp/Texinfo/XS/main/tree_types.h b/tp/Texinfo/XS/main/tree_types.h
index 6825115bd7..b366f78a99 100644
--- a/tp/Texinfo/XS/main/tree_types.h
+++ b/tp/Texinfo/XS/main/tree_types.h
@@ -176,7 +176,7 @@ typedef struct OUTPUT_UNIT {
        but lets keep it an option */
     char *special_unit_variety;
     /* for special units associated to a document output unit */
-    struct OUTPUT_UNIT *associated_document_unit;
+    const struct OUTPUT_UNIT *associated_document_unit;
 } OUTPUT_UNIT;
 
 /* Could be elsewhere, but it is practical to have it here as it is used
diff --git a/tp/Texinfo/XS/main/utils.h b/tp/Texinfo/XS/main/utils.h
index 8d626ddb01..77b1df555f 100644
--- a/tp/Texinfo/XS/main/utils.h
+++ b/tp/Texinfo/XS/main/utils.h
@@ -156,7 +156,7 @@ typedef struct FILE_SOURCE_INFO {
     char *filename;
     char *type;
     char *name;
-    ELEMENT *element;
+    const ELEMENT *element;
     char *path;
 } FILE_SOURCE_INFO;
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]