From 6752e1667ac32e854d188622f3a32112783983b4 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Fri, 22 Apr 2005 16:43:41 +0000 Subject: [PATCH] added ffi-obj-ref after all original commit: d358e1bf1f031bc58869d3924bd5654338d2a4f8 --- collects/mzlib/foreign.ss | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/collects/mzlib/foreign.ss b/collects/mzlib/foreign.ss index 9ead7d1..4bd7631 100644 --- a/collects/mzlib/foreign.ss +++ b/collects/mzlib/foreign.ss @@ -185,16 +185,16 @@ (ptr-set! ffi-obj type new))) ;; 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)))])) +(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