This is an automated email from the git hooks/post-receive script. glondu pushed a commit to branch master in repository ocaml-ctypes.
commit 0b3c2838b015d2359db333d90e8d523d5fac9137 Author: Stephane Glondu <st...@glondu.net> Date: Sat Feb 28 17:58:23 2015 +0100 Imported Upstream version 0.3.3 --- META | 10 +++++----- src/cstubs/cstubs_internals.ml | 3 ++- tests/test-pointers/test_pointers.ml | 37 +++++++++++++++++++++++++++++++++++- 3 files changed, 43 insertions(+), 7 deletions(-) diff --git a/META b/META index a2d5e42..a5db7b7 100644 --- a/META +++ b/META @@ -1,4 +1,4 @@ -version = "0.3.2" +version = "0.3.3" description = "Combinators for binding to C libraries without writing any C." requires = "unix bigarray str bytes" archive(byte) = "ctypes.cma" @@ -8,7 +8,7 @@ archive(native, plugin) = "ctypes.cmxs" exists_if = "ctypes.cma" package "top" ( - version = "0.3.2" + version = "0.3.3" description = "Toplevel printers for C types" requires = "ctypes" archive(byte) = "ctypes-top.cma" @@ -19,7 +19,7 @@ package "top" ( ) package "stubs" ( - version = "0.3.2" + version = "0.3.3" description = "Stub generation from C types" requires = "ctypes" archive(byte) = "cstubs.cma" @@ -30,7 +30,7 @@ package "stubs" ( ) package "foreign-base" ( - version = "0.3.2" + version = "0.3.3" description = "Dynamic linking of C functions" requires = "ctypes" archive(byte) = "ctypes-foreign-base.cma" @@ -41,7 +41,7 @@ package "foreign-base" ( ) package "foreign" ( - version = "0.3.2" + version = "0.3.3" description = "Dynamic linking of C functions" requires = "ctypes ctypes.foreign-base" requires(mt) = "threads ctypes ctypes.foreign-base" diff --git a/src/cstubs/cstubs_internals.ml b/src/cstubs/cstubs_internals.ml index ad27ab1..3555412 100644 --- a/src/cstubs/cstubs_internals.ml +++ b/src/cstubs/cstubs_internals.ml @@ -24,4 +24,5 @@ include Primitives let make_ptr reftype raw_ptr = CPointer { reftype; raw_ptr; pmanaged = None; pbyte_offset = 0; } -let raw_ptr (CPointer { raw_ptr }) = raw_ptr +let raw_ptr (CPointer { raw_ptr; pbyte_offset }) = + Ctypes_raw.PtrType.(add raw_ptr (of_int pbyte_offset)) diff --git a/tests/test-pointers/test_pointers.ml b/tests/test-pointers/test_pointers.ml index 6332430..050cffe 100644 --- a/tests/test-pointers/test_pointers.ml +++ b/tests/test-pointers/test_pointers.ml @@ -154,7 +154,42 @@ struct assert_equal 25 !@rv; let rv = pass_pointer_through p1 p2 (-10) in assert_equal !@rv !@p2; - assert_equal 32 !@rv + assert_equal 32 !@rv; + let p3 = p1 +@ 1 in + let rv = pass_pointer_through p3 p1 1 in + assert_bool + "pointer with (positive) offset successfully passed through" + (ptr_compare rv p3 = 0); + assert_bool + "pointer with positive computed offset compares greater than original" + (ptr_compare p1 p3 < 0); + assert_bool + "pointer with positive computed offset compares greater than original" + (ptr_compare p3 p1 > 0); + assert_bool + "returned pointer with positive computed offset compares greater than original" + (ptr_compare p1 rv < 0); + assert_bool + "returned pointer with positive computed offset compares greater than original" + (ptr_compare rv p1 > 0); + assert_equal !@rv !@p3; + let p4 = p1 -@ 1 in + let rv = pass_pointer_through p1 p4 (-1) in + assert_bool + "pointer with (negative) offset successfully passed through" + (ptr_compare rv p4 = 0); + assert_bool + "pointer with negative computed offset compares less than original" + (ptr_compare p1 p4 > 0); + assert_bool + "pointer with negative computed offset compares less than original" + (ptr_compare p4 p1 < 0); + assert_bool + "returned pointer with negative computed offset compares greater than original" + (ptr_compare p1 rv > 0); + assert_bool + "returned pointer with negative computed offset compares greater than original" + (ptr_compare rv p1 < 0) end -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ocaml-maint/packages/ocaml-ctypes.git _______________________________________________ Pkg-ocaml-maint-commits mailing list Pkg-ocaml-maint-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-ocaml-maint-commits