diff src/parse.y @ 5747:b09d4d0f5b63

[project @ 2006-04-07 06:43:10 by jwe]
author jwe
date Fri, 07 Apr 2006 06:43:11 +0000
parents 1c36a2e82266
children 8d7162924bd3
line wrap: on
line diff
--- a/src/parse.y	Thu Apr 06 20:46:31 2006 +0000
+++ b/src/parse.y	Fri Apr 07 06:43:11 2006 +0000
@@ -3643,18 +3643,18 @@
     retval = fname;
   else
     {
-      size_t pos = fname.rfind ('.');
-
-      fname = (pos != NPOS) ? fname.substr (0, pos) : fname;
+      size_t dpos = fname.rfind (file_ops::dir_sep_char);
+      size_t epos = fname.rfind ('.');
+
+      if (epos <= dpos)
+        epos = NPOS;
+
+      fname = (epos != NPOS) ? fname.substr (0, epos) : fname;
 
       if (arg == "fullpath")
 	retval = fname;
       else
-	{
-	  pos = fname.rfind (file_ops::dir_sep_char);
-
-	  retval = (pos != NPOS) ? fname.substr (pos+1) : fname;
-	}
+        retval = (dpos != NPOS) ? fname.substr (dpos+1) : fname;
     }
 
   return retval;