diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/reference_tree.ml | 5 | ||||
-rw-r--r-- | src/value_checker.ml | 5 | ||||
-rw-r--r-- | src/value_checker.mli | 2 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/reference_tree.ml b/src/reference_tree.ml index 87ab881..26b14b9 100644 --- a/src/reference_tree.ml +++ b/src/reference_tree.ml @@ -51,7 +51,10 @@ let load_constraint_from_xml d c = let cs = (Value_checker.Regex s) :: d.constraints in {d with constraints=cs} | Xml.Element ("validator", [("name", n); ("argument", a)], _) -> - let cs = (Value_checker.External (n, a)) :: d.constraints in + let cs = (Value_checker.External (n, Some a)) :: d.constraints in + {d with constraints=cs} + | Xml.Element ("validator", [("name", n)], _) -> + let cs = (Value_checker.External (n, None)) :: d.constraints in {d with constraints=cs} | _ -> raise (Bad_interface_definition "Malformed constraint") in Xml.fold aux d c diff --git a/src/value_checker.ml b/src/value_checker.ml index d4f0ddd..dad4596 100644 --- a/src/value_checker.ml +++ b/src/value_checker.ml @@ -1,6 +1,6 @@ module F = Filename -type value_constraint = Regex of string | External of string * string +type value_constraint = Regex of string | External of string * string option exception Bad_validator of string @@ -16,7 +16,8 @@ let validate_value dir value_constraint value = We should do something about it. *) let validator = F.concat dir v in - let result = Unix.system (Printf.sprintf "%s %s %s" validator c value) in + let arg = Util.substitute_default c "" in + let result = Unix.system (Printf.sprintf "%s %s %s" validator arg value) in match result with | Unix.WEXITED 0 -> true | Unix.WEXITED 127 -> raise (Bad_validator (Printf.sprintf "Could not execute validator %s" validator)) diff --git a/src/value_checker.mli b/src/value_checker.mli index 62f5b6b..d786f5e 100644 --- a/src/value_checker.mli +++ b/src/value_checker.mli @@ -1,4 +1,4 @@ -type value_constraint = Regex of string | External of string * string +type value_constraint = Regex of string | External of string * string option exception Bad_validator of string |