changeset 12344:7e7941d8cceb

* etags.c (find_entries): rewind before rereading the input file.
author Francesco Potortì <pot@gnu.org>
date Wed, 21 Jun 1995 12:15:15 +0000
parents 91d4c394cb61
children 35ee6a1b7dd6
files lib-src/etags.c
diffstat 1 files changed, 14 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/lib-src/etags.c	Tue Jun 20 22:17:03 1995 +0000
+++ b/lib-src/etags.c	Wed Jun 21 12:15:15 1995 +0000
@@ -110,6 +110,13 @@
 #define	intoken(arg)	(_itk[arg])	/* T if char can be in token	*/
 #define	endtoken(arg)	(_etk[arg])	/* T if char ends tokens	*/
 
+#ifdef DOS_NT
+# define absolutefn(fn) (fn[0] == '/' || (isalpha (fn[0]) && fn[1] == ':'))
+#else
+# define absolutefn(fn) (fn[0] == '/')
+#endif
+
+
 /*
  *	xnew -- allocate storage
  *
@@ -392,7 +399,7 @@
   { "cs", Cstar_entries },
   { "hs", Cstar_entries },
 
-  /* .f and .for are FORTRAN. */
+  /* .F, .f and .for are FORTRAN. */
   { "F", Fortran_functions },
   { "f", Fortran_functions },
   { "for", Fortran_functions },
@@ -1033,11 +1040,7 @@
     {
       char *filename;
 
-#ifdef DOS_NT
-      if (file[0] == '/' || (isalpha (file[0]) && file[1] == ':'))
-#else
-      if (file[0] == '/')
-#endif
+      if (absolutefn (file))
 	{
 	  /* file is an absolute filename.  Canonicalise it. */
 	  filename = absolute_filename (file, cwd);
@@ -1131,7 +1134,10 @@
 
   /* No Fortran entries found.  Try C. */
   if (old_last_node == last_node)
-    default_C_entries (inf);
+    {
+      rewind (inf);
+      default_C_entries (inf);
+    }
   fclose (inf);
 }
 
@@ -3751,11 +3757,7 @@
 {
   char *slashp, *cp, *res;
 
-#ifdef DOS_NT
-  if (file[0] == '/' || (isalpha (file[0]) && file[1] == ':'))
-#else
-  if (file[0] == '/')
-#endif
+  if (absolutefn (file))
     res = concat (file, "", "");
   else
     res = concat (cwd, file, "");