*** empty log message ***
authorPer Bothner <bothner@cygnus.com>
Wed, 28 Jan 1998 11:46:37 +0000 (11:46 +0000)
committerPer Bothner <bothner@gcc.gnu.org>
Wed, 28 Jan 1998 11:46:37 +0000 (03:46 -0800)
From-SVN: r17532

gcc/ChangeLog
gcc/toplev.c

index 011caf3bc4234c3b86722043d0b68d491cc064a4..2b0c5faf5a6db0fe4a7c225252a1146d735a6c14 100644 (file)
@@ -1,3 +1,7 @@
+Wed Jan 28 11:45:27 1998  Per Bothner  <bothner@cygnus.com>
+
+       * toplev.c (strip_off_ending):  Generalize to endings up to 5 chars.
+
 Tue Jan 27 23:15:55 1998  Lassi A. Tuura  <lat@iki.fi>
 
        * config.sub: More accurate determination of HP processor types.
index f7b659e784126fb23e3dbac0b3c8053719d1f070..39c80ba1fb3c740fb22d92ed54a279b8eade27f9 100644 (file)
@@ -2080,20 +2080,23 @@ pipe_closed (signo)
 
 /* Strip off a legitimate source ending from the input string NAME of
    length LEN.  Rather than having to know the names used by all of
-   our front ends, we strip off an ending of a period followed by one,
-   two, or three characters.  */
+   our front ends, we strip off an ending of a period followed by
+   up to five characters.  (Java uses ".class".) */
 
 void
 strip_off_ending (name, len)
      char *name;
      int len;
 {
-  if (len > 2 && name[len - 2] == '.')
-    name[len - 2] = '\0';
-  else if (len > 3 && name[len - 3] == '.')
-    name[len - 3] = '\0';
-  else if (len > 4 && name[len - 4] == '.')
-    name[len - 4] = '\0';
+  int i;
+  for (i = 2;  i < 6 && len > i;  i++)
+    {
+      if (name[len - i] == '.')
+       {
+         name[len - i] = '\0';
+         break;
+       }
+    }
 }
 
 /* Output a quoted string.  */