X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fwin32-pathname.lisp;h=a982f68e1cd11f2c3ea9213b2cd064a99d1b1b84;hb=65b5ab7e713d04e0d76bc0ee196374f6e57b922f;hp=80ea08849c1984829ea74829e68e380964466e5e;hpb=621eebe206ae6c6d0d0897d43247ce5e05c2359a;p=sbcl.git diff --git a/src/code/win32-pathname.lisp b/src/code/win32-pathname.lisp index 80ea088..a982f68 100644 --- a/src/code/win32-pathname.lisp +++ b/src/code/win32-pathname.lisp @@ -20,7 +20,7 @@ (cond ((and (eql c1 #\:) (alpha-char-p c0)) ;; "X:" style, saved as X (values (string (char namestr start)) (+ start 2))) - ((and (member c0 '(#\/ #\\)) (eql c0 c1)) + ((and (member c0 '(#\/ #\\)) (eql c0 c1) (>= end (+ start 3))) ;; "//UNC" style, saved as UNC ;; FIXME: at unparsing time we tell these apart by length, ;; which seems a bit lossy -- presumably one-letter UNC @@ -165,7 +165,7 @@ (directory (pathname-directory pathname))) (cond ((or (null device) (eq device :unspecific)) "") - ((= 1 (length device)) + ((and (= 1 (length device)) (alpha-char-p (char device 0))) (concatenate 'simple-string device ":")) ((and (consp directory) (eq :relative (car directory))) (error "No printed representation for a relative UNC pathname."))