diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-12-01 21:11:01 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-12-01 21:11:01 +0100 |
commit | f47f3c33e002dc86e5e3e78e54b1fe0b58a0f6fd (patch) | |
tree | 87c5e849020c2ee517e368ad2388cc1580a59527 | |
parent | Empty env vars equals unset when resolving language. (diff) | |
download | calp-f47f3c33e002dc86e5e3e78e54b1fe0b58a0f6fd.tar.gz calp-f47f3c33e002dc86e5e3e78e54b1fe0b58a0f6fd.tar.xz |
Improve glob errors.
These are the three possible error values specified by POSIX. Resolving
the symbols makes the error far clearer. Other errors are still
supported, but fall back to integers.
Diffstat (limited to '')
-rw-r--r-- | module/glob.scm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/module/glob.scm b/module/glob.scm index 20cb4b1c..23a5b51c 100644 --- a/module/glob.scm +++ b/module/glob.scm @@ -36,7 +36,11 @@ (unless (zero? globret) (scm-error 'misc-error "glob" "Globret errror ~a" - (list globret) + (list + (cond ((= globret GLOB_NOSPACE) 'glob-nospace) + ((= globret GLOB_ABORTED) 'glob-noabport) + ((= globret GLOB_NOMATCH) 'glob-nomatch) + (else globret))) #f)) (let* ((globstr (parse-c-struct (bytevector->pointer bv) (list size_t '* size_t))) (strvec (pointer->bytevector (cadr globstr) (car globstr) 0 |