diff options
Diffstat (limited to '')
-rw-r--r-- | module/hnh/util/path.scm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/module/hnh/util/path.scm b/module/hnh/util/path.scm index 49b53897..7eac630b 100644 --- a/module/hnh/util/path.scm +++ b/module/hnh/util/path.scm @@ -60,3 +60,18 @@ (define-public (filename-extension filename) (car (reverse (string-split filename #\.)))) + + +(define-public (realpath filename) + (unless (string? filename) + (scm-error 'wrong-type-arg "realpath" + "filename not a string: ~a" + (list filename) #f)) + (when (string-null? filename) + (scm-error 'wrong-type-arg "realpath" + "filename can't be empty" + #f #f)) + + (if (absolute-file-name? filename) + filename + (path-append (getcwd) filename))) |