- (labels ((split (path)
- (unless (zerop (length path))
- (let ((slash (position #\/ path)))
- (if slash
- (cons (subseq path 0 slash) (split (subseq path (1+ slash))))
- (list path))))))
- (if (and (not (zerop (length path))) (char= (char path 0) #\/))
- (cons :absolute (split (subseq path 1)))
- (cons :relative (split path)))))
-
+ (when path
+ (labels ((split (path)
+ (unless (zerop (length path))
+ (let ((slash (position #\/ path)))
+ (if slash
+ (cons (subseq path 0 slash) (split (subseq path (1+ slash))))
+ (list path))))))
+ (if (and (not (zerop (length path))) (char= (char path 0) #\/))
+ (cons :absolute (split (subseq path 1)))
+ (cons :relative (split path))))))
+