package shakuhachi
Source file util.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24(*****************************************************************************) (* *) (* Copyright (C) 2026 Yves Ndiaye *) (* *) (* This Source Code Form is subject to the terms of the Mozilla Public *) (* License, v. 2.0. If a copy of the MPL was not distributed with this *) (* file, You can obtain one at https://mozilla.org/MPL/2.0/. *) (* *) (*****************************************************************************) let read_chan chan = let buffer = Buffer.create 4_096 in let size = 1024 in let bytes = Bytes.create size in let continue = ref true in let () = while !continue do let read = input chan bytes 0 size in let () = Buffer.add_subbytes buffer bytes 0 read in continue := read = size done in Buffer.contents buffer