Fix bug that prevented "//" at end of pathname string from meaning
authorChris Hanson <org/chris-hanson/cph>
Mon, 1 Apr 1991 06:15:49 +0000 (06:15 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 1 Apr 1991 06:15:49 +0000 (06:15 +0000)
"/".

v7/src/edwin/unix.scm

index 3f5f81e580b679938f815f8e05017852be55ac39..2afb83c46fdba396ed5494a77c10cc1c27e55fad 100644 (file)
@@ -1,8 +1,8 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/unix.scm,v 1.11 1989/11/10 16:18:42 markf Rel $
+;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/unix.scm,v 1.12 1991/04/01 06:15:49 cph Exp $
 ;;;
-;;;    Copyright (c) 1989 Massachusetts Institute of Technology
+;;;    Copyright (c) 1989-91 Massachusetts Institute of Technology
 ;;;
 ;;;    This material was developed by the Scheme project at the
 ;;;    Massachusetts Institute of Technology, Department of
 (declare (usual-integrations))
 \f
 (define (os/trim-pathname-string string)
-  (let ((end (-1+ (string-length string))))
+  (let ((end (string-length string)))
     (let loop ((index end))
       (let ((slash (substring-find-previous-char string 0 index #\/)))
-       (cond ((or (not slash) (= slash end))
+       (cond ((not slash)
               string)
-             ((memv (string-ref string (1+ slash)) '(#\~ #\$))
+             ((and (< (1+ slash) end)
+                   (memv (string-ref string (1+ slash)) '(#\~ #\$)))
               (string-tail string (1+ slash)))
              ((zero? slash)
               string)