Fixing some things that prevented SML/NJ compilation
authorAdam Chlipala <adamc@hcoop.net>
Fri, 9 Mar 2007 04:47:41 +0000 (04:47 +0000)
committerAdam Chlipala <adamc@hcoop.net>
Fri, 9 Mar 2007 04:47:41 +0000 (04:47 +0000)
src/client.sml
src/compat.sig
src/compat_mlton.sml
src/compat_smlnj.sml
src/mail/vmail.sml

index 863c0c0..4d32f65 100644 (file)
@@ -28,7 +28,7 @@ datatype passwd_result =
 fun getpass () =
     let
        val tty = Posix.FileSys.stdin
-       val termios = Posix.TTY.TC.getattr tty
+       val termios = Compat.getattr tty
        val fields = Posix.TTY.fieldsOf termios
 
        val termios' = Posix.TTY.termios {iflag = #iflag fields,
@@ -41,11 +41,11 @@ fun getpass () =
                                          ispeed = #ispeed fields,
                                          ospeed = #ospeed fields}
 
-       fun reset () = Posix.TTY.TC.setattr (tty, Posix.TTY.TC.sanow, termios)
+       fun reset () = Compat.setattr (tty, Posix.TTY.TC.sanow, termios)
     in
        print "        Password: ";
        TextIO.flushOut TextIO.stdOut;
-       Posix.TTY.TC.setattr (tty, Posix.TTY.TC.sanow, termios');
+       Compat.setattr (tty, Posix.TTY.TC.sanow, termios');
        case TextIO.inputLine TextIO.stdIn of
            NONE => (reset ();
                     Aborted)
index b54bc27..220bfb0 100644 (file)
@@ -18,4 +18,7 @@
 
 signature COMPAT = sig
     structure Char : WORD
+
+    val getattr : Posix.TTY.file_desc -> Posix.TTY.termios
+    val setattr : Posix.TTY.file_desc * Posix.TTY.TC.set_action * Posix.TTY.termios -> unit
 end
index 06aa3a3..9a6b60f 100644 (file)
@@ -18,6 +18,9 @@
 
 structure Compat : COMPAT = struct
     structure Char = MLRep.Char.Unsigned
+
+    val getattr = Posix.TTY.TC.getattr
+    val setattr = Posix.TTY.TC.setattr
 end
 
 val _ = let
index ff493be..01cfa24 100644 (file)
@@ -18,4 +18,7 @@
 
 structure Compat : COMPAT = struct
     structure Char = Word32
+
+    val getattr = Posix.TTY.getattr
+    val setattr = Posix.TTY.setattr
 end
index 39566dd..60a3a35 100644 (file)
@@ -81,8 +81,8 @@ fun mailboxExists {domain, user} =
 fun add {domain, requester, user, passwd, mailbox} =
     let
        val udb = Posix.SysDB.getpwnam requester
-       val uid = Word.toInt (Posix.ProcEnv.uidToWord (Posix.SysDB.Passwd.uid udb))
-       val gid = Word.toInt (Posix.ProcEnv.gidToWord (Posix.SysDB.Passwd.gid udb))
+       val uid = SysWord.toInt (Posix.ProcEnv.uidToWord (Posix.SysDB.Passwd.uid udb))
+       val gid = SysWord.toInt (Posix.ProcEnv.gidToWord (Posix.SysDB.Passwd.gid udb))
        val home = Posix.SysDB.Passwd.home udb
     in
        if mailboxExists {domain = domain, user = user} then