texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/Convert/HTML.pm (import, _XS_html_me


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/Convert/HTML.pm (import, _XS_html_merge_index_entries) (_sort_index_entries), tp/Texinfo/XS/convert/ConvertXS.xs (html_merge_index_entries), tp/Texinfo/XS/convert/convert_html.c (html_merge_index_entries): rename sort_index_entries as html_merge_index_entries, add an XS override and call it.
Date: Fri, 10 Nov 2023 15:50:49 -0500

This is an automated email from the git hooks/post-receive script.

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new 45b8a10174 * tp/Texinfo/Convert/HTML.pm (import, 
_XS_html_merge_index_entries) (_sort_index_entries), 
tp/Texinfo/XS/convert/ConvertXS.xs (html_merge_index_entries), 
tp/Texinfo/XS/convert/convert_html.c (html_merge_index_entries): rename 
sort_index_entries as html_merge_index_entries, add an XS override and call it.
45b8a10174 is described below

commit 45b8a1017431cbcc5d8d93b750ff970335e163b6
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Fri Nov 10 21:48:20 2023 +0100

    * tp/Texinfo/Convert/HTML.pm (import, _XS_html_merge_index_entries)
    (_sort_index_entries), tp/Texinfo/XS/convert/ConvertXS.xs
    (html_merge_index_entries), tp/Texinfo/XS/convert/convert_html.c
    (html_merge_index_entries): rename sort_index_entries as
    html_merge_index_entries, add an XS override and call it.
    
    * tp/Texinfo/XS/convert/convert_html.c (html_merge_index_entries),
    tp/Texinfo/XS/convert/indices_in_conversion.c (merge_indices),
    tp/Texinfo/XS/main/converter_types.h (CONVERTER): set index_entries as
    a pointer on MERGED_INDEX, not a pointer on pointer.
    
    * tp/Texinfo/XS/convert/indices_in_conversion.c (merge_indices):
    update and fix code, in particular to store index without another
    index merged in.
    
    * tp/Texinfo/XS/convert/ConvertXS.xs (html_prepare_conversion_units),
    tp/Texinfo/XS/convert/convert_html.c
    (set_root_commands_targets_node_files, html_set_pages_files)
    (convert_output_output_unit_internal),
    tp/Texinfo/XS/main/converter_types.h (CONVERTER),
    tp/Texinfo/XS/main/get_perl_info.c (converter_initialize): put
    error_messages directly in converter, not as a pointer.
    
    * tp/Texinfo/XS/main/errors.c (wipe_error_messages)
    (wipe_error_message_list, clear_error_message_list),
    tp/Texinfo/XS/main/build_perl_info.c (pass_converter_errors): add
    clear_error_message_list that clears messages but does not deallocate
    the list memory.  Use clear_error_message_list instead of
    wipe_error_message_list to reuse memory in converter.
    
    * tp/Texinfo/XS/main/utils.c (new_expanded_formats): remove format
    argument. Update callers.
---
 ChangeLog                                     | 35 ++++++++++++
 tp/TODO                                       |  4 ++
 tp/Texinfo/Convert/HTML.pm                    |  8 +++
 tp/Texinfo/XS/convert/ConvertXS.xs            | 12 +++-
 tp/Texinfo/XS/convert/convert_html.c          | 12 ++--
 tp/Texinfo/XS/convert/convert_html.h          |  2 +
 tp/Texinfo/XS/convert/indices_in_conversion.c | 79 +++++++++++++++------------
 tp/Texinfo/XS/convert/indices_in_conversion.h |  2 +-
 tp/Texinfo/XS/main/build_perl_info.c          |  4 +-
 tp/Texinfo/XS/main/convert_to_text.c          |  2 +-
 tp/Texinfo/XS/main/converter_types.h          |  4 +-
 tp/Texinfo/XS/main/errors.c                   | 17 +++++-
 tp/Texinfo/XS/main/errors.h                   |  1 +
 tp/Texinfo/XS/main/get_perl_info.c            |  6 +-
 tp/Texinfo/XS/main/utils.c                    | 12 +---
 tp/Texinfo/XS/main/utils.h                    |  2 +-
 16 files changed, 138 insertions(+), 64 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7762fbe16c..13dca9db30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,6 +23,41 @@
        appears to be broken.  (Loop introduced on 2006-06-27.)
        (run_hevea): Put the loop here.  Code not tested.
 
+2023-11-10  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/Convert/HTML.pm (import, _XS_html_merge_index_entries)
+       (_sort_index_entries), tp/Texinfo/XS/convert/ConvertXS.xs
+       (html_merge_index_entries), tp/Texinfo/XS/convert/convert_html.c
+       (html_merge_index_entries): rename sort_index_entries as
+       html_merge_index_entries, add an XS override and call it.
+
+       * tp/Texinfo/XS/convert/convert_html.c (html_merge_index_entries),
+       tp/Texinfo/XS/convert/indices_in_conversion.c (merge_indices),
+       tp/Texinfo/XS/main/converter_types.h (CONVERTER): set index_entries as
+       a pointer on MERGED_INDEX, not a pointer on pointer.
+
+       * tp/Texinfo/XS/convert/indices_in_conversion.c (merge_indices):
+       update and fix code, in particular to store index without another
+       index merged in.
+
+       * tp/Texinfo/XS/convert/ConvertXS.xs (html_prepare_conversion_units),
+       tp/Texinfo/XS/convert/convert_html.c
+       (set_root_commands_targets_node_files, html_set_pages_files)
+       (convert_output_output_unit_internal),
+       tp/Texinfo/XS/main/converter_types.h (CONVERTER),
+       tp/Texinfo/XS/main/get_perl_info.c (converter_initialize): put
+       error_messages directly in converter, not as a pointer.
+
+       * tp/Texinfo/XS/main/errors.c (wipe_error_messages)
+       (wipe_error_message_list, clear_error_message_list),
+       tp/Texinfo/XS/main/build_perl_info.c (pass_converter_errors): add
+       clear_error_message_list that clears messages but does not deallocate
+       the list memory.  Use clear_error_message_list instead of
+       wipe_error_message_list to reuse memory in converter.
+
+       * tp/Texinfo/XS/main/utils.c (new_expanded_formats): remove format
+       argument. Update callers.
+
 2023-11-10  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/XS/convert/convert_html.c (html_set_pages_files): strdup
diff --git a/tp/TODO b/tp/TODO
index 66dc0dc451..fea0597fb0 100644
--- a/tp/TODO
+++ b/tp/TODO
@@ -61,6 +61,10 @@ special_unit_info_tree
 special_unit_varieties
 pre_class_types
 translated_commands translated_command->translation:strdup
+expanded_formats
+error_messages: with a check that it is empty?
+conf
+init_conf
 
 
 Bugs
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index a4f559be5b..0684ac6a30 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -123,6 +123,9 @@ sub import {
       "Texinfo::Convert::HTML::_XS_get_index_entries_sorted_by_letter",
       "Texinfo::Convert::ConvertXS::get_index_entries_sorted_by_letter");
       Texinfo::XSLoader::override(
+      "Texinfo::Convert::HTML::_XS_html_merge_index_entries",
+      "Texinfo::Convert::ConvertXS::html_merge_index_entries");
+      Texinfo::XSLoader::override(
       "Texinfo::Convert::HTML::_prepare_conversion_units",
       "Texinfo::Convert::ConvertXS::html_prepare_conversion_units");
       Texinfo::XSLoader::override(
@@ -9822,6 +9825,10 @@ sub _XS_get_index_entries_sorted_by_letter($$)
 {
 }
 
+sub _XS_html_merge_index_entries($)
+{
+}
+
 sub _sort_index_entries($)
 {
   my $self = shift;
@@ -9843,6 +9850,7 @@ sub _sort_index_entries($)
     if ($self->{'converter_descriptor'} and $XS_convert) {
       _XS_get_index_entries_sorted_by_letter($self,
                                  $self->{'index_entries_by_letter'});
+      _XS_html_merge_index_entries($self);
     }
   }
 }
diff --git a/tp/Texinfo/XS/convert/ConvertXS.xs 
b/tp/Texinfo/XS/convert/ConvertXS.xs
index 0b2460aa5e..4cb28a3594 100644
--- a/tp/Texinfo/XS/convert/ConvertXS.xs
+++ b/tp/Texinfo/XS/convert/ConvertXS.xs
@@ -261,6 +261,16 @@ html_pop_document_context (SV *converter_in)
            }
 
 
+void
+html_merge_index_entries (SV *converter_in)
+      PREINIT:
+         CONVERTER *self;
+     CODE:
+         self = get_sv_converter (converter_in,
+                                  "html_merge_index_entries");
+         if (self)
+           html_merge_index_entries (self);
+
 #  my ($output_units, $special_units, $associated_special_units)
 #    = $self->_prepare_conversion_units($root, $document_name);
 void
@@ -307,7 +317,7 @@ html_prepare_conversion_units (SV *converter_in, ...)
          pass_html_special_targets (converter_in, self->html_special_targets);
          pass_html_seen_ids (converter_in, &self->seen_ids);
 
-         pass_converter_errors (self->error_messages, self->hv);
+         pass_converter_errors (&self->error_messages, self->hv);
 
          EXTEND(SP, 3);
          PUSHs(sv_2mortal(output_units_sv));
diff --git a/tp/Texinfo/XS/convert/convert_html.c 
b/tp/Texinfo/XS/convert/convert_html.c
index fcdd056415..586cacecba 100644
--- a/tp/Texinfo/XS/convert/convert_html.c
+++ b/tp/Texinfo/XS/convert/convert_html.c
@@ -1181,7 +1181,7 @@ set_root_commands_targets_node_files (CONVERTER *self)
             {
               if (self->conf->VERBOSE > 0)
                 {
-                  message_list_document_warn (self->error_messages, self->conf,
+                  message_list_document_warn (&self->error_messages, 
self->conf,
                              "user-defined node file name not set for `%s'",
                              node_filename);
                 }
@@ -1222,12 +1222,12 @@ set_root_commands_targets_node_files (CONVERTER *self)
 }
 
 void
-sort_index_entries (CONVERTER *self)
+html_merge_index_entries (CONVERTER *self)
 {
   if (self->document->index_names)
     {
       INDEX **index_names = self->document->index_names;
-      MERGED_INDEX **merged_index_entries = merge_indices (index_names);
+      MERGED_INDEX *merged_index_entries = merge_indices (index_names);
       self->index_entries = merged_index_entries;
     }
 }
@@ -1961,7 +1961,7 @@ html_set_pages_files (CONVERTER *self, OUTPUT_UNIT_LIST 
*output_units,
                       && strcmp (file_source_info->path,
                                  file_name_path->filepath))
                     {
-                      message_list_document_warn (self->error_messages,
+                      message_list_document_warn (&self->error_messages,
                                                   self->conf,
                                      "resetting %s file path %s to %s",
                                            file_name_path->filename,
@@ -3964,7 +3964,7 @@ convert_output_output_unit_internal (CONVERTER *self,
                                encoded_out_filepath, &open_error_message, 0);
       if (!file_fh)
         {
-          message_list_document_error (self->error_messages, self->conf,
+          message_list_document_error (&self->error_messages, self->conf,
                              "could not open %s for writing: %s",
                              out_filepath, open_error_message);
           return 0;
@@ -4019,7 +4019,7 @@ convert_output_output_unit_internal (CONVERTER *self,
                                         encoded_out_filepath);
           if (fclose (file_fh))
             {
-              message_list_document_error (self->error_messages, self->conf,
+              message_list_document_error (&self->error_messages, self->conf,
                              "error on closing %s: %s",
                              out_filepath, strerror (errno));
               return 0;
diff --git a/tp/Texinfo/XS/convert/convert_html.h 
b/tp/Texinfo/XS/convert/convert_html.h
index a3b36ea1cd..033c7742b3 100644
--- a/tp/Texinfo/XS/convert/convert_html.h
+++ b/tp/Texinfo/XS/convert/convert_html.h
@@ -16,6 +16,8 @@ void html_new_document_context (CONVERTER *self,
         enum command_id block_command);
 void html_pop_document_context (CONVERTER *self);
 
+void html_merge_index_entries (CONVERTER *self);
+
 void html_prepare_conversion_units (CONVERTER *self,
                                     int *output_units_descriptor_ref,
                                     int *special_units_descriptor_ref,
diff --git a/tp/Texinfo/XS/convert/indices_in_conversion.c 
b/tp/Texinfo/XS/convert/indices_in_conversion.c
index 6a3b49bcc9..cf05deb0ba 100644
--- a/tp/Texinfo/XS/convert/indices_in_conversion.c
+++ b/tp/Texinfo/XS/convert/indices_in_conversion.c
@@ -4,15 +4,15 @@
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
-  
+
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-  
+
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-        
+
 #include <config.h>
 #include <stdlib.h>
 #include <string.h>
@@ -29,53 +29,61 @@
 
 /* corresponding perl code in Texinfo::Structuring */
 
-MERGED_INDEX **
+MERGED_INDEX *
 merge_indices (INDEX **index_names)
 {
   size_t merged_indices_space = 4;
   size_t merged_indices_number = 0;
   INDEX **i, *idx;
-  MERGED_INDEX **merged_indices
-    = (MERGED_INDEX **) malloc (sizeof (MERGED_INDEX *) * 
merged_indices_space);
-  memset (merged_indices, 0, sizeof (MERGED_INDEX *) * merged_indices_space);
+  MERGED_INDEX *merged_indices
+    = (MERGED_INDEX *) malloc (sizeof (MERGED_INDEX) * merged_indices_space);
 
   for (i = index_names; (idx = *i); i++)
     {
       if (idx->index_entries && idx->index_number)
         {
+          size_t j;
+          INDEX *ultimate_idx;
+          char *in_idx_name;
+          MERGED_INDEX *merged_idx = 0;
+
           if (idx->merged_in)
+            ultimate_idx = ultimate_index (idx);
+          else
+            ultimate_idx = idx;
+
+          in_idx_name = ultimate_idx->name;
+
+          for (j = 0; j < merged_indices_number; j++)
             {
-              INDEX *ultimate_idx = ultimate_index (idx);
-              char *in_idx_name = ultimate_idx->name;
-              MERGED_INDEX **mi, *merged_idx;
-              for (mi = merged_indices; (merged_idx = *mi); mi++)
+              if (!strcmp (merged_indices[j].name, in_idx_name))
                 {
-                  if (! strcmp (merged_idx->name, in_idx_name))
-                    {
-                      break;
-                    }
+                  merged_idx = &merged_indices[j];
+                  break;
                 }
-              if (!merged_idx)
+            }
+          if (!merged_idx)
+            /* main index (possibly itself) not already setup, do it */
+            {
+              if (merged_indices_number == merged_indices_space)
                 {
-                  merged_idx = (MERGED_INDEX *) malloc (sizeof (MERGED_INDEX));
-                  merged_idx->name = in_idx_name;
-                  merged_idx->index_number = ultimate_idx->index_number;
-                  merged_idx->index_entries
-                    = malloc (sizeof (INDEX_ENTRY) * merged_idx->index_number);
-                  memcpy (merged_idx->index_entries, 
ultimate_idx->index_entries,
-                                 ultimate_idx->index_number * sizeof 
(INDEX_ENTRY));
-
-                  if (merged_indices_number+1 == merged_indices_space)
-                    {
-                      merged_indices_space += 5;
-                      merged_indices = realloc (merged_indices, 
merged_indices_space
-                                         * sizeof (MERGED_INDEX *));
-                    }
-                  merged_indices[merged_indices_number] = merged_idx;
-                  merged_indices_number++;
-                  merged_indices[merged_indices_number] = 0;
+                  merged_indices_space += 5;
+                  merged_indices
+                   = realloc (merged_indices, merged_indices_space
+                                                * sizeof (MERGED_INDEX));
                 }
-              
+              merged_idx = &merged_indices[merged_indices_number];
+              merged_idx->name = in_idx_name;
+              merged_idx->index_number = ultimate_idx->index_number;
+              merged_idx->index_entries
+                = malloc (sizeof (INDEX_ENTRY) * merged_idx->index_number);
+              memcpy (merged_idx->index_entries, ultimate_idx->index_entries,
+                         ultimate_idx->index_number * sizeof (INDEX_ENTRY));
+              merged_indices_number++;
+            }
+
+          if (idx->merged_in)
+            {
               merged_idx->index_entries = realloc (merged_idx->index_entries,
                        (idx->index_number + merged_idx->index_number) *
                          sizeof (INDEX_ENTRY));
@@ -86,6 +94,9 @@ merge_indices (INDEX **index_names)
             }
         }
     }
+  /* shrink memory to used memory, up to merged_indices_number */
+  merged_indices = realloc (merged_indices,
+                            merged_indices_number * sizeof (MERGED_INDEX));
   return merged_indices;
 }
 
diff --git a/tp/Texinfo/XS/convert/indices_in_conversion.h 
b/tp/Texinfo/XS/convert/indices_in_conversion.h
index 5b394f671a..814f3ac5e6 100644
--- a/tp/Texinfo/XS/convert/indices_in_conversion.h
+++ b/tp/Texinfo/XS/convert/indices_in_conversion.h
@@ -5,7 +5,7 @@
 #include "tree_types.h"
 #include "indices_in_conversion.h"
 
-MERGED_INDEX **merge_indices (INDEX **index_names);
+MERGED_INDEX *merge_indices (INDEX **index_names);
 
 ELEMENT *index_content_element (ELEMENT *element,
                                 int prefer_reference_element);
diff --git a/tp/Texinfo/XS/main/build_perl_info.c 
b/tp/Texinfo/XS/main/build_perl_info.c
index 5ad1d2ec4a..dc25266cbb 100644
--- a/tp/Texinfo/XS/main/build_perl_info.c
+++ b/tp/Texinfo/XS/main/build_perl_info.c
@@ -51,7 +51,7 @@
 #include "builtin_commands.h"
 #include "document.h"
 #include "output_unit.h"
-/* for wipe_error_message_list */
+/* for clear_error_message_list */
 #include "errors.h"
 #include "build_perl_info.h"
 
@@ -1509,7 +1509,7 @@ pass_converter_errors (ERROR_MESSAGE_LIST *error_messages,
                   strlen ("error_nrs"), newSViv (error_nrs), 0);
     }
 
-  wipe_error_message_list (error_messages);
+  clear_error_message_list (error_messages);
 }
 
 void
diff --git a/tp/Texinfo/XS/main/convert_to_text.c 
b/tp/Texinfo/XS/main/convert_to_text.c
index bd223862cc..bd5ee9e4e0 100644
--- a/tp/Texinfo/XS/main/convert_to_text.c
+++ b/tp/Texinfo/XS/main/convert_to_text.c
@@ -107,7 +107,7 @@ new_text_options (void)
 {
   TEXT_OPTIONS *options = malloc (sizeof (TEXT_OPTIONS));
   memset (options, 0, sizeof (TEXT_OPTIONS));
-  options->expanded_formats = new_expanded_formats (0);
+  options->expanded_formats = new_expanded_formats ();
   options->NUMBER_SECTIONS = -1;
   memset (&options->include_directories, 0, sizeof (STRING_LIST));
   return options;
diff --git a/tp/Texinfo/XS/main/converter_types.h 
b/tp/Texinfo/XS/main/converter_types.h
index 100209f6b2..bdcddfd259 100644
--- a/tp/Texinfo/XS/main/converter_types.h
+++ b/tp/Texinfo/XS/main/converter_types.h
@@ -375,8 +375,8 @@ typedef struct CONVERTER {
     struct DOCUMENT *document;
     int document_units_descriptor;
 
-    ERROR_MESSAGE_LIST *error_messages;
-    MERGED_INDEX **index_entries;
+    ERROR_MESSAGE_LIST error_messages;
+    MERGED_INDEX *index_entries;
     INDEX_SORTED_BY_LETTER **index_entries_by_letter;
     TRANSLATED_COMMAND *translated_commands;
     EXPANDED_FORMAT *expanded_formats;
diff --git a/tp/Texinfo/XS/main/errors.c b/tp/Texinfo/XS/main/errors.c
index 00410880d6..08f8b91129 100644
--- a/tp/Texinfo/XS/main/errors.c
+++ b/tp/Texinfo/XS/main/errors.c
@@ -323,8 +323,8 @@ message_list_document_warn (ERROR_MESSAGE_LIST 
*error_messages,
                                         format, v);
 }
 
-void
-wipe_error_message_list (ERROR_MESSAGE_LIST *error_messages)
+static void
+wipe_error_messages (ERROR_MESSAGE_LIST *error_messages)
 {
   int j;
   for (j = 0; j < error_messages->number; j++)
@@ -332,10 +332,23 @@ wipe_error_message_list (ERROR_MESSAGE_LIST 
*error_messages)
       free (error_messages->list[j].message);
       free (error_messages->list[j].error_line);
     }
+}
+
+void
+wipe_error_message_list (ERROR_MESSAGE_LIST *error_messages)
+{
+  wipe_error_messages (error_messages);
   free (error_messages->list);
   memset (error_messages, 0, sizeof (ERROR_MESSAGE_LIST));
 }
 
+void
+clear_error_message_list (ERROR_MESSAGE_LIST *error_messages)
+{
+  wipe_error_messages (error_messages);
+  error_messages->number = 0;
+}
+
 /* not used */
 void
 wipe_errors (void)
diff --git a/tp/Texinfo/XS/main/errors.h b/tp/Texinfo/XS/main/errors.h
index 39ae582a22..55702d89cd 100644
--- a/tp/Texinfo/XS/main/errors.h
+++ b/tp/Texinfo/XS/main/errors.h
@@ -19,6 +19,7 @@ void bug_message (char *format, ...);
 char *prepare_error_line_message (ERROR_MESSAGE *error_message);
 
 void wipe_error_message_list (ERROR_MESSAGE_LIST *error_messages);
+void clear_error_message_list (ERROR_MESSAGE_LIST *error_messages);
 void message_list_command_error (ERROR_MESSAGE_LIST *error_messages,
                                  ELEMENT *e, char *format, ...);
 void message_list_command_warn (ERROR_MESSAGE_LIST *error_messages,
diff --git a/tp/Texinfo/XS/main/get_perl_info.c 
b/tp/Texinfo/XS/main/get_perl_info.c
index 34466299a1..33fcef8d02 100644
--- a/tp/Texinfo/XS/main/get_perl_info.c
+++ b/tp/Texinfo/XS/main/get_perl_info.c
@@ -237,7 +237,7 @@ get_expanded_formats (HV *hv, EXPANDED_FORMAT 
**expanded_formats)
       I32 formats_nr;
 
       if (!*expanded_formats)
-        *expanded_formats = new_expanded_formats (0);
+        *expanded_formats = new_expanded_formats ();
 
       HV *expanded_formats_hv = (HV *)SvRV (*expanded_formats_sv);
 
@@ -362,10 +362,6 @@ converter_initialize (SV *converter_sv)
          = copy_sv_options (*converter_init_conf_sv);
     }
 
-  converter->error_messages
-    = (ERROR_MESSAGE_LIST *) malloc (sizeof (ERROR_MESSAGE_LIST));
-  memset (converter->error_messages, 0, sizeof (ERROR_MESSAGE_LIST));
-
   set_translated_commands (converter, hv_in);
 
   get_expanded_formats (hv_in, &converter->expanded_formats);
diff --git a/tp/Texinfo/XS/main/utils.c b/tp/Texinfo/XS/main/utils.c
index 1fea07aebd..8f066380a8 100644
--- a/tp/Texinfo/XS/main/utils.c
+++ b/tp/Texinfo/XS/main/utils.c
@@ -482,19 +482,13 @@ add_expanded_format (EXPANDED_FORMAT *formats, char 
*format)
     add_expanded_format (formats, "info");
 }
 
-/* FORMAT is an optional argument, to set a format at the expanded_format
-   structure creation */
 EXPANDED_FORMAT *
-new_expanded_formats (char *format)
+new_expanded_formats ()
 {
-  EXPANDED_FORMAT *formats;
-
-  formats = malloc (sizeof (expanded_formats));
+  EXPANDED_FORMAT *formats
+     = (EXPANDED_FORMAT *) malloc (sizeof (expanded_formats));
   memcpy (formats, expanded_formats, sizeof (expanded_formats));
 
-  if (format)
-    add_expanded_format (formats, format);
-
   return formats;
 }
 
diff --git a/tp/Texinfo/XS/main/utils.h b/tp/Texinfo/XS/main/utils.h
index d255f39a2b..f046b59e66 100644
--- a/tp/Texinfo/XS/main/utils.h
+++ b/tp/Texinfo/XS/main/utils.h
@@ -278,7 +278,7 @@ char *decode_string (char *input_string, char *encoding, 
int *status,
 char *encode_string (char *input_string, char *encoding, int *status,
                      SOURCE_INFO *source_info);
 
-EXPANDED_FORMAT *new_expanded_formats (char *format);
+EXPANDED_FORMAT *new_expanded_formats (void);
 void clear_expanded_formats (EXPANDED_FORMAT *formats);
 void add_expanded_format (EXPANDED_FORMAT *formats, char *format);
 int format_expanded_p (EXPANDED_FORMAT *formats, char *format);



reply via email to

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