Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tools/ocaml: libxb: Avoid to use String_val() when value is bytes
Commit ec7d54d "ocaml/libs/xb: Use bytes in place of strings for mutable buffers" switch mutable buffers from string to bytes. However the C code were still using String_Val() to access them. While the underlying structure is the same between string and bytes, a string is meant to be immutable. OCaml 4.06.1 and later will enforce it. Therefore, it will not be possible to build the OCaml libs when using -safe-string. This is because String_val() will return a const value. To avoid plain cast in the code, the code is now switched to use Bytes_val(). As the macro is not defined in older OCaml version, we need to provide a stub. Take the opportunity to switch to const the buffer in ml_interface_write() as it should not be modified. Reported-by: Dario Faggioli <[email protected]> Signed-off-by: Julien Grall <[email protected]> Acked-by: Christian Lindig <[email protected]>
- Loading branch information