3 let find_1 (fn
: string) (k
: string) : string option =
4 let cdb = fn
|> Ds_cdb.open_cdb_in
in
6 match k
|> Bytes.of_string
|> Ds_cdb.find_first
cdb with
7 | Some b
-> Some
(b
|> Bytes.to_string
)
10 cdb |> Ds_cdb.close_cdb_in
;
14 "s" |> find_1 "mini.cdb" |> Option.get
|> Assrt.equals_string __LOC__
"ß";
15 assert (None
= ("zzz" |> find_1 "mini.cdb"));
19 let fn = "tmp/t.cdb" in
20 (try Unix.unlink
fn with Unix.Unix_error
(_
, _
, _
) -> ());
21 let cdb = Ds_cdb.open_out
fn in
22 Ds_cdb.add
cdb ("k" |> Bytes.of_string
) ("v" |> Bytes.of_string
);
23 Ds_cdb.close_cdb_out
cdb;
25 find_1 fn "k" |> Option.get
|> Assrt.equals_string __LOC__
"v";
29 Unix.chdir
"../../../test/";