From f47f3c33e002dc86e5e3e78e54b1fe0b58a0f6fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Fri, 1 Dec 2023 21:11:01 +0100 Subject: 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. --- module/glob.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3