Improve validation of jbuild atoms

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
This commit is contained in:
Rudi Grinberg 2018-06-19 21:49:49 +06:30
parent ad3a95655d
commit 46eba2ef98
1 changed files with 4 additions and 0 deletions

View File

@ -12,8 +12,12 @@ let (is_valid_jbuild, is_valid_dune) =
let rec jbuild s i len =
i = len ||
match String.unsafe_get s i with
| '#' -> disallow_next '|' s (i + 1) len
| '|' -> disallow_next '#' s (i + 1) len
| '"' | '(' | ')' | ';' | '\000'..'\032' | '\127'..'\255' -> false
| _ -> jbuild s (i + 1) len
and disallow_next c s i len =
i = len || String.unsafe_get s i <> c && jbuild s i len
in
let rec dune s i len =
i = len ||