diff --git a/sync-music/libcue/libcue.lisp b/sync-music/libcue/libcue.lisp index 284b498..118b8d8 100644 --- a/sync-music/libcue/libcue.lisp +++ b/sync-music/libcue/libcue.lisp @@ -33,14 +33,14 @@ Only works on Unix systems with a /dev/fd/ filesystem." If TYPE is :FILE, use cue_parse_file with fopen on DATA. If TYPE is :STRING, use cue_parse_string directly." (once-only (data) - `(let ((,var ,(ecase type - (:file - (with-gensyms (file) - `(with-read-file (,file ,data) - (with-ignore-stderr - (cue-parse-file ,file))))) - (:string - data)))) + `(let ((,var (with-ignore-stderr + ,(ecase type + (:file + (with-gensyms (file) + `(with-read-file (,file ,data) + (cue-parse-file ,file)))) + (:string + `(cue-parse-string ,data)))))) (declare (dynamic-extent ,var)) (unless (cffi:null-pointer-p ,var) (unwind-protect