From e227fb007d385aeb17b94472a7f854d2828b7566 Mon Sep 17 00:00:00 2001 From: Hugo Heuzard Date: Wed, 21 Feb 2018 15:46:19 +0000 Subject: [PATCH] fix primitives for marshal --- byterun/extern.c | 7 ++++++- byterun/intern.c | 9 +++++++-- otherlibs/threads/marshal.ml | 5 ++--- stdlib/marshal.ml | 5 ++--- stdlib/marshal.mli | 2 +- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/byterun/extern.c b/byterun/extern.c index adebc910b..db7163cd2 100644 --- a/byterun/extern.c +++ b/byterun/extern.c @@ -694,7 +694,7 @@ CAMLprim value caml_output_value(value vchan, value v, value flags) CAMLreturn (Val_unit); } -CAMLprim value caml_output_value_to_string(value v, value flags) +CAMLprim value caml_output_value_to_bytes(value v, value flags) { char header[32]; int header_len; @@ -722,6 +722,11 @@ CAMLprim value caml_output_value_to_string(value v, value flags) return res; } +CAMLprim value caml_output_value_to_string(value v, value flags) +{ + return caml_output_value_to_bytes(v,flags); +} + CAMLexport intnat caml_output_value_to_block(value v, value flags, char * buf, intnat len) { diff --git a/byterun/intern.c b/byterun/intern.c index ba78846fd..565ed10d0 100644 --- a/byterun/intern.c +++ b/byterun/intern.c @@ -777,7 +777,7 @@ CAMLprim value caml_input_value_to_outside_heap(value vchan) CAMLreturn (res); } -CAMLexport value caml_input_val_from_string(value str, intnat ofs) +CAMLexport value caml_input_val_from_bytes(value str, intnat ofs) { CAMLparam1 (str); CAMLlocal1 (obj); @@ -801,7 +801,12 @@ CAMLexport value caml_input_val_from_string(value str, intnat ofs) CAMLprim value caml_input_value_from_string(value str, value ofs) { - return caml_input_val_from_string(str, Long_val(ofs)); + return caml_input_val_from_bytes(str, Long_val(ofs)); +} + +CAMLprim value caml_input_value_from_bytes(value str, value ofs) +{ + return caml_input_val_from_bytes(str, Long_val(ofs)); } static value input_val_from_block(struct marshal_header * h) diff --git a/otherlibs/threads/marshal.ml b/otherlibs/threads/marshal.ml index 88660680f..f09be91c6 100644 --- a/otherlibs/threads/marshal.ml +++ b/otherlibs/threads/marshal.ml @@ -19,7 +19,7 @@ type extern_flags = | Compat_32 external to_bytes: 'a -> extern_flags list -> bytes - = "caml_output_value_to_string" + = "caml_output_value_to_bytes" external to_string: 'a -> extern_flags list -> string = "caml_output_value_to_string" @@ -37,8 +37,7 @@ let to_buffer buff ofs len v flags = else to_buffer_unsafe buff ofs len v flags external from_channel: in_channel -> 'a = "caml_input_value" -external from_bytes_unsafe: bytes -> int -> 'a - = "caml_input_value_from_string" +external from_bytes_unsafe: bytes -> int -> 'a = "caml_input_value_from_bytes" external data_size_unsafe: bytes -> int -> int = "caml_marshal_data_size" let header_size = 20 diff --git a/stdlib/marshal.ml b/stdlib/marshal.ml index 458f003b9..63133d7fc 100644 --- a/stdlib/marshal.ml +++ b/stdlib/marshal.ml @@ -22,7 +22,7 @@ type extern_flags = external to_channel: out_channel -> 'a -> extern_flags list -> unit = "caml_output_value" external to_bytes: 'a -> extern_flags list -> bytes - = "caml_output_value_to_string" + = "caml_output_value_to_bytes" external to_string: 'a -> extern_flags list -> string = "caml_output_value_to_string" external to_buffer_unsafe: @@ -41,8 +41,7 @@ let to_buffer buff ofs len v flags = *) external from_channel: in_channel -> 'a = "caml_input_value" -external from_bytes_unsafe: bytes -> int -> 'a - = "caml_input_value_from_string" +external from_bytes_unsafe: bytes -> int -> 'a = "caml_input_value_from_bytes" external data_size_unsafe: bytes -> int -> int = "caml_marshal_data_size" let header_size = 20 diff --git a/stdlib/marshal.mli b/stdlib/marshal.mli index 28c22e902..53e3fb75a 100644 --- a/stdlib/marshal.mli +++ b/stdlib/marshal.mli @@ -112,7 +112,7 @@ val to_channel : out_channel -> 'a -> extern_flags list -> unit *) external to_bytes : - 'a -> extern_flags list -> bytes = "caml_output_value_to_string" + 'a -> extern_flags list -> bytes = "caml_output_value_to_bytes" (** [Marshal.to_bytes v flags] returns a byte sequence containing the representation of [v]. The [flags] argument has the same meaning as for