diff --git a/CHANGES.md b/CHANGES.md index 2aab6bcc..e58fbfd1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,11 @@ +v3.1.1 2017-07-13 +----------------- + +- `check_alignment` now treats a large alignment as an unsigned value + and so doesnt raise a signal (#171 by @yallop) +- Improve Windows support by avoiding `void *` pointer arithmetic and + have more portable headers in the C stubs (#170 by @fdopen) + v3.1.0 2017-07-12 ----------------- diff --git a/lib_test/tests.ml b/lib_test/tests.ml index 0312a9eb..44435bc1 100644 --- a/lib_test/tests.ml +++ b/lib_test/tests.ml @@ -122,6 +122,9 @@ let check_alignment_zero () = with Invalid_argument _ -> () +let check_alignment_large () = + assert_equal (Cstruct.(check_alignment (create 1) (Int64.to_int 4294967296L))) false + let _ = let suite = "misc tests" >::: [ @@ -142,6 +145,7 @@ let _ = "aligned to 4096" >:: check_alignment 4096 ; "aligned to 512" >:: check_alignment 512 ; "aligned to 0" >:: check_alignment_zero + ; "aligned to large" >:: check_alignment_large ] ] in