fix issue with double backslash

This commit is contained in:
Mylloon 2023-06-19 22:27:11 +02:00
parent 9525c64917
commit 9ec05b3aba
Signed by: Anri
GPG key ID: A82D63DFF8D1317F

View file

@ -1,15 +1,24 @@
let get_bytecode ?(json = false) data = let get_bytecode ?(json = false) data =
let backslash = if json then "\\\\" else "\\" in let backslash = '\\' in
let result = let result =
List.map String.concat
""
(List.map
(fun byte -> (fun byte ->
let code = Char.code byte in let code = Char.code byte in
if code >= 65 && code <= 122 if code >= 65 && code <= 122
then String.make 1 byte then String.make 1 byte
else Printf.sprintf "%sx%02X" backslash code) else Printf.sprintf "%cx%02X" backslash code)
(List.of_seq (Bytes.to_seq data)) (List.of_seq (Bytes.to_seq data)))
in in
String.concat "" result if json
then
String.concat
""
(List.map
(fun c -> if c = backslash then String.make 2 c else String.make 1 c)
(List.of_seq (String.to_seq result)))
else result
;; ;;
let get_obj_size obj = Obj.size (Obj.repr obj) let get_obj_size obj = Obj.size (Obj.repr obj)