aboutsummaryrefslogtreecommitdiff
path: root/module/util.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-08-16 23:14:16 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-08-16 23:14:16 +0200
commitdb083ceaa136f9d8b987b0f9d151a1a3578d3709 (patch)
treea4f6594510dac7959f185604b2017ba31c00504c /module/util.scm
parentWrite preliminary PKGBUILD. (diff)
downloadcalp-db083ceaa136f9d8b987b0f9d151a1a3578d3709.tar.gz
calp-db083ceaa136f9d8b987b0f9d151a1a3578d3709.tar.xz
Setup directories for dist.
Diffstat (limited to 'module/util.scm')
-rw-r--r--module/util.scm15
1 files changed, 15 insertions, 0 deletions
diff --git a/module/util.scm b/module/util.scm
index c1381edd..d5cf86a7 100644
--- a/module/util.scm
+++ b/module/util.scm
@@ -528,6 +528,21 @@
(define-public ->string ->str)
+(define-public (path-append . strings)
+ (fold (lambda (s done)
+ (string-append
+ done
+ (if (string-null? s)
+ (string-append s "/")
+ (if (char=? #\/ (string-last done))
+ (if (char=? #\/ (string-first s))
+ (string-drop s 1) s)
+ (if (char=? #\/ (string-first s))
+ s (string-append "/" s))))))
+ (let ((s (car strings)))
+ (if (string-null? s)
+ "/" s))
+ (cdr strings)))