mte/unikernel/duniverse/ocaml-dns/resolvconf/dns_resolvconf.ml

15 lines
516 B
OCaml
Raw Normal View History

2025-11-11 02:07:51 +01:00
let parse buf =
try
Resolvconf_state.reset ();
let buf =
if String.(get buf (pred (length buf))) = '\n' then buf else buf ^ "\n"
in
let lexbuf = Lexing.from_string buf in
Ok (Resolvconf_parser.resolvconf Resolvconf_lexer.lex lexbuf)
with
| Parsing.Parse_error ->
Error (`Msg (Fmt.str "parse error at line %d" Resolvconf_state.(state.lineno)))
| exn ->
Error (`Msg (Fmt.str "error at line %d: %s" Resolvconf_state.(state.lineno)
(Printexc.to_string exn)))