diff --git a/foreign/c/pointer.scm b/foreign/c/pointer.scm index ed82702..ce55abf 100644 --- a/foreign/c/pointer.scm +++ b/foreign/c/pointer.scm @@ -74,12 +74,13 @@ (lambda (bytevector-var) (c-strlen bytevector-var))) -(define c-utf8->string - (lambda (c-bytevector) - (when (c-null? c-bytevector) - (error "Can not turn null pointer into string")) - (let ((size (c-strlen c-bytevector))) - (utf8->string (c-bytevector->bytevector c-bytevector size))))) +(define-syntax c-utf8->string + (syntax-rules () + ((_ c-bytevector) + (when (c-null? c-bytevector) + (error "Can not turn null pointer into string" 'c-bytevector)) + (let ((size (c-strlen c-bytevector))) + (utf8->string (c-bytevector->bytevector c-bytevector size)))))) (define string->c-utf8 (lambda (string-var)