summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/reference_tree.ml5
-rw-r--r--src/value_checker.ml5
-rw-r--r--src/value_checker.mli2
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