(expand_and_dir_to_file): Remove final / by copying abspath.
authorRichard M. Stallman <rms@gnu.org>
Wed, 4 Aug 1993 22:51:22 +0000 (22:51 +0000)
committerRichard M. Stallman <rms@gnu.org>
Wed, 4 Aug 1993 22:51:22 +0000 (22:51 +0000)
src/fileio.c

index f4537ba..6a94b2c 100644 (file)
@@ -1506,11 +1506,7 @@ duplicates what `expand-file-name' does.")
 }
 \f
 /* A slightly faster and more convenient way to get
-   (directory-file-name (expand-file-name FOO)).  The return value may
-   have had its last character zapped with a '\0' character, meaning
-   that it is acceptable to system calls, but not to other lisp
-   functions.  Callers should make sure that the return value doesn't
-   escape.  */
+   (directory-file-name (expand-file-name FOO)).  */
 
 Lisp_Object
 expand_and_dir_to_file (filename, defdir)
@@ -1530,11 +1526,8 @@ expand_and_dir_to_file (filename, defdir)
      stat behaves differently depending!  */
   if (XSTRING (abspath)->size > 1
       && XSTRING (abspath)->data[XSTRING (abspath)->size - 1] == '/')
-    {
-      if (EQ (abspath, filename))
-       abspath = Fcopy_sequence (abspath);
-      XSTRING (abspath)->data[XSTRING (abspath)->size - 1] = 0;
-    }
+    abspath = Fsubstring (abspath, make_number (0),
+                         make_number (XSTRING (abspath)->size - 1));
 #endif
   return abspath;
 }