From 738db88cf815661669b16bc7210739e584702066 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Sun, 23 Apr 2023 13:35:28 +0200 Subject: [PATCH] Safe failback on missing member info. --- src/brmember.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/brmember.scm b/src/brmember.scm index 2913523..78393ff 100644 --- a/src/brmember.scm +++ b/src/brmember.scm @@ -222,10 +222,14 @@ ;; Returns member info key value (define (brmember-info mr key . defaults) - (let ((info (ldict-ref mr 'info))) - (if (null? defaults) - (ldict-ref info key) - (ldict-ref info key (car defaults))))) + (let ((info (ldict-ref mr 'info #f))) + (if info + (if (null? defaults) + (ldict-ref info key) + (ldict-ref info key (car defaults))) + (if (null? defaults) + (error 'brmember-info "Info key is missing.") + (car defaults))))) ;; Return mandatory keys with #f as value (define (brmember-missing-keys mr)