X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/361a1e7f7b226811bdb8b4cc0266f34f01ac4bcd..c9731b9b3ee43c4c8d82c31009a5870a01d3acfa:/src/main-client.sml diff --git a/src/main-client.sml b/src/main-client.sml index d6fe010..57500c5 100644 --- a/src/main-client.sml +++ b/src/main-client.sml @@ -16,9 +16,26 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *) -(* Driver for server *) +(* Driver for configuration requests *) + +fun domtoolRoot () = + let + val uid = Posix.ProcEnv.getuid () + val uname = Posix.SysDB.Passwd.name (Posix.SysDB.getpwuid uid) + val dname = OS.Path.joinDirFile {dir = Config.homeBase, + file = uname} + in + OS.Path.joinDirFile {dir = dname, + file = "domtool"} + end 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"