From 4993769e654e6969d3842d9562943fe3b16f00de Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Wed, 18 Dec 2013 15:52:55 +0900 Subject: [PATCH] Avoiding double slashes on boundaries in make-path. Full normalization isn't performed so already embedded doubles are not removed. --- lib/chibi/pathname.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/chibi/pathname.scm b/lib/chibi/pathname.scm index 347ac51d..7703c586 100644 --- a/lib/chibi/pathname.scm +++ b/lib/chibi/pathname.scm @@ -224,5 +224,10 @@ (lp (append (car ls) (cdr ls)) res)) (else (let ((x (trim-trailing-slash (x->string (car ls))))) - (lp (cdr ls) - (if (string=? x "") res (cons x (cons "/" res))))))))))) + (cond + ((string=? x "") + (lp (cdr ls) res)) + ((eqv? #\/ (string-ref x 0)) + (lp (cdr ls) (cons x res))) + (else + (lp (cdr ls) (cons x (cons "/" res))))))))))))