diff lib-src/etags.c @ 10761:7aa80669e697

* etags.c (C_entries): Bug corrected in xrealloc of token_str. (main): Do not read twice the last filename in the stdin file list.
author Francesco Potortì <pot@gnu.org>
date Wed, 15 Feb 1995 15:03:21 +0000
parents cd1c0b5e8634
children 32f98b512dd9
line wrap: on
line diff
--- a/lib-src/etags.c	Wed Feb 15 12:13:14 1995 +0000
+++ b/lib-src/etags.c	Wed Feb 15 15:03:21 1995 +0000
@@ -30,8 +30,8 @@
  *
  *	Francesco Potorti` (pot@cnuce.cnr.it) is the current maintainer.
  */
-char pot_etags_version[] = "@(#) pot revision number is 11.21";
-
+
+char pot_etags_version[] = "@(#) pot revision number is 11.24";
 
 #ifdef MSDOS
 #include <fcntl.h>
@@ -910,14 +910,8 @@
 	      /* Input file named "-" means read file names from stdin
 		 and use them. */
 	      if (streq (this_file, "-"))
-		{
-		  while (!feof (stdin))
-		    {
-		      (void) readline_internal (&filename_lb, stdin);
-		      if (strlen (filename_lb.buffer) > 0)
-			process_file (filename_lb.buffer);
-		    }
-		}
+		while (readline_internal (&filename_lb, stdin) > 0)
+		  process_file (filename_lb.buffer);
 	      else
 		process_file (this_file);
 #ifdef VMS
@@ -926,6 +920,7 @@
 	  break;
 	}
     }
+
   if (!CTAGS)
     {
       while (nincluded_files-- > 0)
@@ -1132,7 +1127,6 @@
 }
 
 /* Record a tag. */
-/* Should take a TOKEN* instead!! */
 void
 pfnote (name, is_func, named, linestart, linelen, lno, cno)
      char *name;		/* tag name */
@@ -2061,7 +2055,8 @@
 			      while (token_str.size < strsize)
 				{
 				  token_str.size *= 2;
-				  xrealloc (token_str.buffer, token_str.size);
+				  token_str.buffer = xrealloc(token_str.buffer,
+							      token_str.size);
 				}
 			      strcpy (token_str.buffer, structtag);
 			      strcat (token_str.buffer, "::");
@@ -2074,7 +2069,8 @@
 			      while (token_str.size < toklen + 1)
 				{
 				  token_str.size *= 2;
-				  xrealloc (token_str.buffer, token_str.size);
+				  token_str.buffer = xrealloc(token_str.buffer,
+							      token_str.size);
 				}
 			      strncpy (token_str.buffer,
 				       newlb.buffer+tokoff, toklen);
@@ -2318,6 +2314,7 @@
 	      if (structdef == sinbody)
 		free (structtag);
 #endif
+
 	      structdef = snone;
 	      structtag = "<error>";
 	    }