texinfo-commits
[Top][All Lists]
Advanced

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

[5907] returned man page nodes can be freed safely


From: Gavin D. Smith
Subject: [5907] returned man page nodes can be freed safely
Date: Mon, 03 Nov 2014 17:18:38 +0000

Revision: 5907
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=5907
Author:   gavin
Date:     2014-11-03 17:18:37 +0000 (Mon, 03 Nov 2014)
Log Message:
-----------
returned man page nodes can be freed safely

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/info/man.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2014-11-02 19:41:03 UTC (rev 5906)
+++ trunk/ChangeLog     2014-11-03 17:18:37 UTC (rev 5907)
@@ -1,3 +1,10 @@
+2014-10-03  Gavin Smith  <address@hidden>
+
+       * info/man.c (get_manpage_node): Make returned node safely 
+       free-able with free_history_node.
+       (xrefs_of_manpage): Initialize line_number fields of REFERENCE 
+       objects.
+
 2014-11-02  Patrice Dumas  <address@hidden>
 
        * tp/Texinfo/Convert/Plaintext.pm (_convert), 

Modified: trunk/info/man.c
===================================================================
--- trunk/info/man.c    2014-11-02 19:41:03 UTC (rev 5906)
+++ trunk/info/man.c    2014-11-03 17:18:37 UTC (rev 5907)
@@ -83,8 +83,6 @@
       tag->nodename = xstrdup (pagename);
       tag->flags |= (N_HasTagsTable | N_IsManPage | N_IsInternal);
 
-      tag->up = "(dir)";
-
       /* Save this node. */
       add_pointer_to_array (tag, i,
                             manpage_file_buffer->tags,
@@ -129,11 +127,11 @@
       tag->body_start = strcspn (tag->contents, "\n");
     }
 
-  if (!tag->references)
-    tag->references = xrefs_of_manpage (tag);
-
   node = xmalloc (sizeof (NODE));
   *node = *tag;
+  node->references = xrefs_of_manpage (node);
+  node->nodename = xstrdup (pagename);
+  node->up = xstrdup ("(dir)");
   return node;
 }
 
@@ -632,8 +630,9 @@
                  s.buffer + section,
                  section_end - section);
 
-        entry->filename = MANPAGE_FILE_BUFFER_NAME;
+        entry->filename = xstrdup (MANPAGE_FILE_BUFFER_NAME);
         entry->nodename = xstrdup (entry->label);
+        entry->line_number = 0;
         entry->start = name;
         entry->end = section_end;
         entry->type = REFERENCE_XREF;




reply via email to

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