removed ffi-obj-ref

original commit: 862b32e2117076fbcdb0971c065bd328dbcf2790
This commit is contained in:
Eli Barzilay 2005-04-22 15:50:42 +00:00
parent 05c28f754f
commit be8a96bc28

View File

@ -184,16 +184,17 @@
(hash-table-put! ffi-objects-ref-table ffi-obj new)
(ptr-set! ffi-obj type new)))
(provide* ffi-obj-ref)
(define ffi-obj-ref
(case-lambda
[(name lib) (ffi-obj-ref name lib #f)]
[(name lib failure)
(let ([name (get-ffi-obj-name 'ffi-obj-ref name)]
[lib (get-ffi-lib lib)])
(with-handlers ([exn:fail:filesystem?
(lambda (e) (if failure (failure) (raise e)))])
(ffi-obj name lib)))]))
;; This is better handled with `make-c-parameter'
;; (provide* ffi-obj-ref)
;; (define ffi-obj-ref
;; (case-lambda
;; [(name lib) (ffi-obj-ref name lib #f)]
;; [(name lib failure)
;; (let ([name (get-ffi-obj-name 'ffi-obj-ref name)]
;; [lib (get-ffi-lib lib)])
;; (with-handlers ([exn:fail:filesystem?
;; (lambda (e) (if failure (failure) (raise e)))])
;; (ffi-obj name lib)))]))
;; get-ffi-obj is implemented as a syntax only to be able to propagate the
;; foreign name into the type syntax, which allows generated wrappers to have a