~ chicken-core (chicken-5) 2e7c7540acec014e96c6351dbddbdb002b87c62d
commit 2e7c7540acec014e96c6351dbddbdb002b87c62d Author: felix <felix@call-with-current-continuation.org> AuthorDate: Thu Dec 24 00:27:33 2009 +0100 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Dec 24 00:27:33 2009 +0100 deprecated pointer-offset, renamed it to pointer+ diff --git a/lolevel.scm b/lolevel.scm index 925448ad..2aa272e9 100644 --- a/lolevel.scm +++ b/lolevel.scm @@ -78,7 +78,7 @@ EOF ;;; Helpers: (define-inline (%pointer? x) - (and (##core#inline "C_blockp" x) (##core#inline "C_anypointerp" x)) ) + (##core#inline "C_i_safe_pointerp" x)) (define-inline (%generic-pointer? x) (or (%pointer? x) @@ -284,10 +284,12 @@ EOF (##sys#check-special p2 'pointer=?) (##core#inline "C_pointer_eqp" p1 p2) ) -(define pointer-offset +(define pointer+ (foreign-lambda* nonnull-c-pointer ([c-pointer ptr] [integer off]) "return((unsigned char *)ptr + off);") ) +(define pointer-offset pointer+) ; DEPRECATED + (define align-to-word (let ([align (foreign-lambda integer "C_align" integer)]) (lambda (x) diff --git a/manual/Unit lolevel b/manual/Unit lolevel index 324e832f..9c221d51 100644 --- a/manual/Unit lolevel +++ b/manual/Unit lolevel @@ -125,9 +125,9 @@ to the same address, or {{#f}} otherwise. Returns the address, to which the pointer-like object {{POINTER*}} points. -==== pointer-offset +==== pointer+ -<procedure>(pointer-offset POINTER* N)</procedure> +<procedure>(pointer+ POINTER* N)</procedure> Returns a new foreign pointer object representing the pointer-like object {{POINTER*}} address value increased by the byte-offset {{N}}. diff --git a/types.db b/types.db index 39a0fa5e..73b97aaf 100644 --- a/types.db +++ b/types.db @@ -602,7 +602,7 @@ (pointer-f32-set! (procedure pointer-f32-set! (pointer number) undefined)) (pointer-f64-ref (procedure pointer-f64-ref (pointer) number)) (pointer-f64-set! (procedure pointer-f64-set! (pointer number) undefined)) -(pointer-offset (procedure pointer-offset (pointer fixnum) pointer)) +(pointer+ (procedure pointer+ (pointer fixnum) pointer)) (pointer-s16-ref (procedure pointer-s16-ref (pointer) fixnum)) (pointer-s16-set! (procedure pointer-s16-set! (pointer fixnum) undefined)) (pointer-s32-ref (procedure pointer-s32-ref (pointer) number))Trap