Multi-configuration support
[hcoop/domtool2.git] / src / main-client.sml
index d6fe010..c70dfb8 100644 (file)
 
 (* Driver for server *)
 
 
 (* Driver for server *)
 
+fun domtoolRoot () =
+    let
+       val uid = Posix.ProcEnv.getuid ()
+       val home = Posix.SysDB.Passwd.home (Posix.SysDB.getpwuid uid)
+    in
+       OS.Path.joinDirFile {dir = home,
+                            file = "domtool"}
+    end
+
 val _ =
     case CommandLine.arguments () of
 val _ =
     case CommandLine.arguments () of
-       [fname] => Main.request fname
+       [fname] =>
+       if Posix.FileSys.access (fname, []) then
+           Main.request fname
+       else
+           Main.request (OS.Path.joinDirFile {dir = domtoolRoot (),
+                                              file = fname})
+      | [] => Main.requestDir (domtoolRoot ())
       | _ => print "Invalid command-line arguments\n"
       | _ => print "Invalid command-line arguments\n"