texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/XS/convert/convert_html.c (html_free


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/XS/convert/convert_html.c (html_free_converter), tp/Texinfo/XS/main/api_to_perl.c, tp/Texinfo/XS/main/document.c (remove_document_descriptor), tp/Texinfo/XS/main/tree.c (destroy_element): inline unregister_perl_tree_element, unregister_document_hv and unregister_perl_tree_element calling unregister_perl_data.
Date: Thu, 03 Oct 2024 13:47:09 -0400

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 0a8d38547a * tp/Texinfo/XS/convert/convert_html.c 
(html_free_converter), tp/Texinfo/XS/main/api_to_perl.c, 
tp/Texinfo/XS/main/document.c (remove_document_descriptor), 
tp/Texinfo/XS/main/tree.c (destroy_element): inline 
unregister_perl_tree_element, unregister_document_hv and 
unregister_perl_tree_element calling unregister_perl_data.
0a8d38547a is described below

commit 0a8d38547a872fb1ebf2b1be5ebdd2a5df252922
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Tue Aug 6 06:39:35 2024 +0200

    * tp/Texinfo/XS/convert/convert_html.c (html_free_converter),
    tp/Texinfo/XS/main/api_to_perl.c, tp/Texinfo/XS/main/document.c
    (remove_document_descriptor), tp/Texinfo/XS/main/tree.c
    (destroy_element): inline unregister_perl_tree_element,
    unregister_document_hv and unregister_perl_tree_element calling
    unregister_perl_data.
---
 ChangeLog                            |  9 +++++++++
 tp/Texinfo/XS/convert/convert_html.c |  6 +++++-
 tp/Texinfo/XS/main/api_to_perl.c     | 39 ------------------------------------
 tp/Texinfo/XS/main/api_to_perl.h     |  4 ----
 tp/Texinfo/XS/main/document.c        |  6 +++++-
 tp/Texinfo/XS/main/tree.c            |  7 ++++++-
 6 files changed, 25 insertions(+), 46 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index af7344079c..e2236701c8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2024-08-06  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/XS/convert/convert_html.c (html_free_converter),
+       tp/Texinfo/XS/main/api_to_perl.c, tp/Texinfo/XS/main/document.c
+       (remove_document_descriptor), tp/Texinfo/XS/main/tree.c
+       (destroy_element): inline unregister_perl_tree_element,
+       unregister_document_hv and unregister_perl_tree_element calling
+       unregister_perl_data.
+
 2024-08-05  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/XS/convert/ConvertXS.xs (html_converter_customize),
diff --git a/tp/Texinfo/XS/convert/convert_html.c 
b/tp/Texinfo/XS/convert/convert_html.c
index 080acb6109..92ecda0dee 100644
--- a/tp/Texinfo/XS/convert/convert_html.c
+++ b/tp/Texinfo/XS/convert/convert_html.c
@@ -19710,7 +19710,11 @@ html_free_converter (CONVERTER *self)
   self->registered_ids = 0;
 #endif
 
-  unregister_html_converter_perl_hv (self);
+  if (self->pl_info_hv)
+    {
+      unregister_perl_data (self->pl_info_hv);
+      self->pl_info_hv = 0;
+    }
 
   html_free_files_source_info (&self->files_source_info);
 
diff --git a/tp/Texinfo/XS/main/api_to_perl.c b/tp/Texinfo/XS/main/api_to_perl.c
index 2f07a6da48..6e7650a5cd 100644
--- a/tp/Texinfo/XS/main/api_to_perl.c
+++ b/tp/Texinfo/XS/main/api_to_perl.c
@@ -47,20 +47,6 @@ get_refcount (void *sv)
   return SvREFCNT ((SV *) sv);
 }
 
-/* to be called when a tree element is destroyed, to remove the reference
-   of the association with the C tree */
-void
-unregister_perl_tree_element (ELEMENT *e)
-{
-  dTHX;
-
-  if (e->hv)
-    {
-      SvREFCNT_dec ((SV *) e->hv);
-      e->hv = 0;
-    }
-}
-
 void
 unregister_perl_data (void *sv)
 {
@@ -126,28 +112,3 @@ croak_message (char *message)
   croak ("%s\n", message);
 }
 
-void
-unregister_document_hv (DOCUMENT *document)
-{
-  dTHX;
-
-  if (document->hv)
-    {
-      SvREFCNT_dec ((SV *)document->hv);
-      document->hv = 0;
-    }
-}
-
-/* HTML specific */
-void
-unregister_html_converter_perl_hv (CONVERTER *converter)
-{
-  dTHX;
-
-  if (converter->pl_info_hv)
-    {
-      SvREFCNT_dec ((SV *)converter->pl_info_hv);
-      converter->pl_info_hv = 0;
-    }
-}
-
diff --git a/tp/Texinfo/XS/main/api_to_perl.h b/tp/Texinfo/XS/main/api_to_perl.h
index f13670ec26..966e751d62 100644
--- a/tp/Texinfo/XS/main/api_to_perl.h
+++ b/tp/Texinfo/XS/main/api_to_perl.h
@@ -7,12 +7,8 @@
 
 int get_refcount (void *sv);
 
-void unregister_perl_tree_element (ELEMENT *e);
-void unregister_document_hv (DOCUMENT *document);
 void unregister_perl_data (void *sv);
 void register_perl_data (void *sv);
-/* HTML specific */
-void unregister_html_converter_perl_hv (CONVERTER *converter);
 
 void call_switch_to_global_locale (void);
 void call_sync_locale (void);
diff --git a/tp/Texinfo/XS/main/document.c b/tp/Texinfo/XS/main/document.c
index 87d34fb727..d328ef51b0 100644
--- a/tp/Texinfo/XS/main/document.c
+++ b/tp/Texinfo/XS/main/document.c
@@ -479,7 +479,11 @@ remove_document_descriptor (size_t document_descriptor)
   if (document->small_strings)
     destroy_strings_list (document->small_strings);
 
-  unregister_document_hv (document);
+  if (document->hv)
+    {
+      unregister_perl_data (document->hv);
+      document->hv = 0;
+    }
 
   /*
   fprintf (stderr, "REMOVE %zu %p\n", document_descriptor, document);
diff --git a/tp/Texinfo/XS/main/tree.c b/tp/Texinfo/XS/main/tree.c
index 841ec47ee8..086ef1bd54 100644
--- a/tp/Texinfo/XS/main/tree.c
+++ b/tp/Texinfo/XS/main/tree.c
@@ -256,7 +256,12 @@ destroy_element_empty_source_mark_list (ELEMENT *e)
 void
 destroy_element (ELEMENT *e)
 {
-  unregister_perl_tree_element (e);
+  /* remove the reference of the association with the C tree */
+  if (e->hv)
+    {
+      unregister_perl_data (e->hv);
+      e->hv = 0;
+    }
 
   if (e->source_mark_list)
     destroy_source_mark_list (e->source_mark_list);



reply via email to

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