Update whenjobs(1) manual page reference section.
[whenjobs.git] / tools / whenjobs.ml
index 60795ba..f8a0659 100644 (file)
@@ -87,7 +87,7 @@ let rec main () =
     "--list", Arg.Unit (set_mode `List), " List the script";
     "--lib", Arg.Set_string libdir, "dir Specify directory that contains pa_when.cmo";
     "--set", Arg.Unit (set_mode `Set), " Set the variable";
-    "--type", Arg.Set_string typ, "bool|int|float|string Set the variable type";
+    "--type", Arg.Set_string typ, "bool|int|float|string|unit Set the variable type";
     "--upload", Arg.Unit (set_mode `Upload), " Upload the script";
     "--variables", Arg.Unit (set_mode `Variables), " Display all variables and values";
     "-V", Arg.Unit display_version, " Display version number and exit";
@@ -130,6 +130,7 @@ Options:
     | "string" -> `String
     | "int" -> `Int
     | "float"|"double" -> `Float
+    | "unit" -> `Unit
     | t ->
       eprintf "whenjobs: --type: unknown type (%s)\n" t;
       exit 1 in
@@ -293,7 +294,13 @@ and set_variable name value typ =
        with Failure _ ->
          eprintf "whenjobs: variable is not a floating point number\n";
          exit 1
-      ) in
+      )
+    | `Unit ->
+      if value <> "" then (
+        eprintf "whenjobs: unit variables must be empty strings\n";
+        exit 1
+      );
+      `unit_t in
 
   let client = start_client () in
   (match Whenproto_clnt.When.V1.set_variable client (name, value) with
@@ -384,6 +391,7 @@ and stop_client client =
   Rpc_client.shut_down client
 
 and string_of_variable = function
+  | `unit_t -> ""
   | `bool_t b -> string_of_bool b
   | `string_t s -> s
   | `int_t i -> i (* passed on the wire as a string *)