@@ -53,7 +53,7 @@ let err_of_bigarray t = err "Cstruct.of_bigarray off=%d len=%d" t
53
53
let err_sub t = err " Cstruct.sub: %a off=%d len=%d" pp_t t
54
54
let err_shift t = err " Cstruct.shift %a %d" pp_t t
55
55
let err_shiftv n = err " Cstruct.shiftv short by %d" n
56
- let err_copy t = err " Cstruct.copy %a off=%d len=%d" pp_t t
56
+ let err_copy_to_string caller t = err " Cstruct.%s %a off=%d len=%d" caller pp_t t
57
57
let err_to_hex_string t = err " Cstruct.to_hex_string %a off=%d len=%d" pp_t t
58
58
let err_blit_src src dst =
59
59
err " Cstruct.blit src=%a dst=%a src-off=%d len=%d" pp_t src pp_t dst
@@ -200,15 +200,17 @@ external unsafe_compare_bigstring : buffer -> int -> buffer -> int -> int -> int
200
200
201
201
external unsafe_fill_bigstring : buffer -> int -> int -> int -> unit = " caml_fill_bigstring" [@@ noalloc]
202
202
203
- let copy src srcoff len =
203
+ let copy_to_string caller src srcoff len =
204
204
if len < 0 || srcoff < 0 || src.len - srcoff < len then
205
- err_copy src srcoff len
205
+ err_copy_to_string caller src srcoff len
206
206
else
207
207
let b = Bytes. create len in
208
208
unsafe_blit_bigstring_to_bytes src.buffer (src.off+ srcoff) b 0 len;
209
209
(* The following call is safe, since b is not visible elsewhere. *)
210
210
Bytes. unsafe_to_string b
211
211
212
+ let copy = copy_to_string " copy"
213
+
212
214
let blit src srcoff dst dstoff len =
213
215
if len < 0 || srcoff < 0 || src.len - srcoff < len then
214
216
err_blit_src src dst srcoff len
@@ -398,9 +400,7 @@ let fillv ~src ~dst =
398
400
399
401
let to_string ?(off =0 ) ?len :sz t =
400
402
let len = match sz with None -> length t - off | Some l -> l in
401
- (* The following call is safe, since this is the only reference to the
402
- freshly-created value built by [to_bytes t]. *)
403
- copy t off len
403
+ copy_to_string " to_string" t off len
404
404
405
405
let to_hex_string ?(off =0 ) ?len :sz t : string =
406
406
let [@ inline] nibble_to_char (i:int ) : char =
0 commit comments