]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - irrlicht/util.scm
Generic function for unwrapping foreign records
[guile-irrlicht.git] / irrlicht / util.scm
index e7c8641026b23a9b93dd95d55f6751ff546de9dd..efa5ba7fbe2c7547fa7f0cf217b459cd73259d5d 100644 (file)
@@ -25,7 +25,8 @@
   #:export (bool->integer
             integer->bool
             define-foreign
-            define-foreign-record-type))
+            define-foreign-record-type
+            foreign-record->pointer))
 
 (define (bool->integer var)
   (if var 1 0))
@@ -79,7 +80,7 @@
                   (iota (length field-specs))))
 
     (syntax-case x ()
-      ((_ name (make-name make-arg ...) predicate? unwrap-record field-spec ...)
+      ((_ name (make-name make-arg ...) predicate? field-spec ...)
        (with-syntax (((type-id ...) (field-types #'(field-spec ...)))
                      ((field-name ...) (field-names #'(field-spec ...)))
                      (((getter getter-id) ...) (field-getters #'(field-spec ...)))
            (else #f))))
     (if procedure
         (apply procedure bv 0 value '()))))
+
+(define (foreign-record->pointer record)
+  (struct-ref record 0))