diff --git a/foreign/c/pointer.scm b/foreign/c/pointer.scm index 25013a9..8b8040b 100644 --- a/foreign/c/pointer.scm +++ b/foreign/c/pointer.scm @@ -100,13 +100,14 @@ (chicken #t) ; FIXME (kawa #t) ; FIXME (chibi #t) + (gauche (define c-null? pointer-null?)) (else (define c-null? (lambda (pointer) (display "HERE123: ") (write pointer) (newline) (if (c-bytevector? pointer) - #t ;(= (c-memset-pointer->address pointer 0 0) 0) + #t (= (c-memset-pointer->address pointer 0 0) 0) #f))))) #;(define c-bytevector->address diff --git a/foreign/c/primitives/gauche.scm b/foreign/c/primitives/gauche.scm index 40eb509..8b2a0c4 100644 --- a/foreign/c/primitives/gauche.scm +++ b/foreign/c/primitives/gauche.scm @@ -6,7 +6,7 @@ c-bytevector-pointer-set! c-bytevector-pointer-ref ;pointer-null - ;pointer-null? + pointer-null? ;make-c-bytevector ;pointer-address c-bytevector? @@ -17,8 +17,7 @@ define-c-callback dlerror dlsym - internal-ffi-call - )) + internal-ffi-call)) (select-module foreign.c.primitives.gauche) (dynamic-load "foreign/c/lib/gauche") diff --git a/foreign/c/primitives/gauche/foreign-c-primitives-gauche.c b/foreign/c/primitives/gauche/foreign-c-primitives-gauche.c index 285a2e0..efd3d6e 100644 --- a/foreign/c/primitives/gauche/foreign-c-primitives-gauche.c +++ b/foreign/c/primitives/gauche/foreign-c-primitives-gauche.c @@ -60,7 +60,6 @@ ScmObj pointer_null() { } */ -/* ScmObj is_pointer_null(ScmObj pointer) { if(!Scm_TypeP(pointer, SCM_CLASS_FOREIGN_POINTER)) { return SCM_FALSE; @@ -71,7 +70,6 @@ ScmObj is_pointer_null(ScmObj pointer) { return SCM_FALSE; } } -*/ /* ScmObj pointer_allocate(int size) { diff --git a/foreign/c/primitives/gauche/foreign-c-primitives-gauche.h b/foreign/c/primitives/gauche/foreign-c-primitives-gauche.h index bb0918b..ed6ffe2 100644 --- a/foreign/c/primitives/gauche/foreign-c-primitives-gauche.h +++ b/foreign/c/primitives/gauche/foreign-c-primitives-gauche.h @@ -21,7 +21,7 @@ extern ScmObj size_of_pointer(); extern ScmObj size_of_void(); extern ScmObj shared_object_load(ScmString* path, ScmObj options); //extern ScmObj pointer_null(); -//extern ScmObj is_pointer_null(); +extern ScmObj is_pointer_null(); //extern ScmObj pointer_allocate(int size); //extern ScmObj pointer_address(ScmObj pointer); extern ScmObj is_pointer(ScmObj pointer); diff --git a/foreign/c/primitives/gauche/gauchelib.scm b/foreign/c/primitives/gauche/gauchelib.scm index 8e5fdc1..b07269f 100644 --- a/foreign/c/primitives/gauche/gauchelib.scm +++ b/foreign/c/primitives/gauche/gauchelib.scm @@ -25,7 +25,7 @@ (define-cproc size-of-void () size_of_void) (define-cproc shared-object-load (path:: options) shared_object_load) ;(define-cproc pointer-null () pointer_null) - ;(define-cproc pointer-null? (pointer) is_pointer_null) + (define-cproc pointer-null? (pointer) is_pointer_null) ;(define-cproc pointer-allocate (size::) pointer_allocate) ;(define-cproc pointer-address (object) pointer_address) (define-cproc pointer? (pointer) is_pointer)