From a6978187ba8c575372beb3bcee7f1b3404bd206e Mon Sep 17 00:00:00 2001 From: sperber Date: Wed, 16 Apr 2003 13:01:32 +0000 Subject: [PATCH] Sanitize Olin's atrocious 2-line IF. --- scsh/fname.scm | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/scsh/fname.scm b/scsh/fname.scm index 4c8d02c..38ed85f 100644 --- a/scsh/fname.scm +++ b/scsh/fname.scm @@ -20,7 +20,8 @@ (not (char=? #\/ (string-ref fname (- (string-length fname) 1)))))) (define (file-name-as-directory fname) - (if (string=? fname ".") "" + (if (string=? fname ".") + "" (let ((len (string-length fname))) (if (and (> len 0) (char=? #\/ (string-ref fname (- len 1)))) @@ -38,12 +39,13 @@ (define (directory-as-file-name fname) (let ((len (string-length fname))) - (if (zero? len) "." ; "" -> "." - + (if (zero? len) + "." ; "" -> "." ;; Trim trailing slashes. (cond ((last-non-slash fname) => (lambda (i) - (if (= i (- len 1)) fname ; No slash. + (if (= i (- len 1)) + fname ; No slash. (substring fname 0 (+ i 1))))) ; Trim slashes. ;;; Solid slashes -- invoke weird Posix rule. @@ -51,12 +53,14 @@ (define (ensure-file-name-is-directory fname) - (if (string=? fname "") "" + (if (string=? fname "") + "" (file-name-as-directory fname))) (define (ensure-file-name-is-nondirectory fname) - (if (string=? fname "") "" + (if (string=? fname "") + "" (directory-as-file-name fname))) @@ -166,7 +170,8 @@ (define (resolve-file-name fname . maybe-root) (let* ((root (ensure-file-name-is-nondirectory (:optional maybe-root "."))) (fname (ensure-file-name-is-nondirectory fname))) - (if (zero? (string-length fname)) "/" + (if (zero? (string-length fname)) + "/" (let ((c (string-ref fname 0))) (cond ((char=? #\/ c) fname) ; Absolute file name. @@ -225,9 +230,11 @@ (define (absolute-file-name fname . maybe-root) (let ((fname (ensure-file-name-is-nondirectory fname))) - (if (zero? (string-length fname)) "/" + (if (zero? (string-length fname)) + "/" (simplify-file-name - (if (char=? #\/ (string-ref fname 0)) fname ; Absolute file name. + (if (char=? #\/ (string-ref fname 0)) + fname ; Absolute file name. (let ((root (:optional maybe-root (cwd)))) (string-append (file-name-as-directory root) fname))))))) @@ -263,7 +270,8 @@ (let ((ans (cons (substring s 0 i) ans)) (s (substring s (+ i 1) len)) (len (- len (+ i 1)))) - (if (zero? len) (lp ans "") + (if (zero? len) + (lp ans "") (let ((next-char (string-ref s 0))) (cond ((char=? #\{ next-char) (cond ((string-index s #\}) =>