HCoop
/
hcoop
/
domtool2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Printing mailbox locations for vmail list
[hcoop/domtool2.git]
/
src
/
msg.sml
diff --git
a/src/msg.sml
b/src/msg.sml
index
6fdda0a
..
747572a
100644
(file)
--- a/
src/msg.sml
+++ b/
src/msg.sml
@@
-139,7
+139,10
@@
fun send (bio, m) =
OpenSSL.writeString (bio, domain))
| MsgMailboxes users =>
(OpenSSL.writeInt (bio, 22);
OpenSSL.writeString (bio, domain))
| MsgMailboxes users =>
(OpenSSL.writeInt (bio, 22);
- sendList OpenSSL.writeString (bio, users))
+ sendList (fn (bio, {user, mailbox}) =>
+ (OpenSSL.writeString (bio, user);
+ OpenSSL.writeString (bio, mailbox)))
+ (bio, users))
fun checkIt v =
case v of
fun checkIt v =
case v of
@@
-215,7
+218,14
@@
fun recv bio =
SOME (MsgRmMailbox {domain = domain, user = user})
| _ => NONE)
| 21 => Option.map MsgListMailboxes (OpenSSL.readString bio)
SOME (MsgRmMailbox {domain = domain, user = user})
| _ => NONE)
| 21 => Option.map MsgListMailboxes (OpenSSL.readString bio)
- | 22 => Option.map MsgMailboxes (recvList OpenSSL.readString bio)
+ | 22 => Option.map MsgMailboxes (recvList
+ (fn bio =>
+ case (OpenSSL.readString bio,
+ OpenSSL.readString bio) of
+ (SOME user, SOME mailbox) =>
+ SOME {user = user, mailbox = mailbox}
+ | _ => NONE)
+ bio)
| _ => NONE)
end
| _ => NONE)
end