HCoop
/
bpt
/
portal.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make list request instructions correct
[bpt/portal.git]
/
util.sml
diff --git
a/util.sml
b/util.sml
index
7da69eb
..
ee6c872
100644
(file)
--- a/
util.sml
+++ b/
util.sml
@@
-29,11
+29,12
@@
fun makeSet f items =
fun neg (r : real) = ~r
fun add (r1 : real, r2) = r1 + r2
fun neg (r : real) = ~r
fun add (r1 : real, r2) = r1 + r2
+fun mult (r1, r2) = real r1 * r2
fun isIdent ch = Char.isLower ch orelse Char.isDigit ch orelse ch = #"-"
fun validHost s =
fun isIdent ch = Char.isLower ch orelse Char.isDigit ch orelse ch = #"-"
fun validHost s =
- size s > 0 andalso size s <
2
0 andalso List.all isIdent (String.explode s)
+ size s > 0 andalso size s <
4
0 andalso List.all isIdent (String.explode s)
fun validDomain s =
size s > 0 andalso size s < 100 andalso List.all validHost (String.fields (fn ch => ch = #".") s)
fun validDomain s =
size s > 0 andalso size s < 100 andalso List.all validHost (String.fields (fn ch => ch = #".") s)
@@
-63,7
+64,7
@@
fun init () = rnd := Random.rand (SysWord.toInt (Posix.Process.pidToWord (Posix.
fun randomPassword () = Int.toString (Int.abs (Random.randInt (!rnd)))
fun domainDir dom =
fun randomPassword () = Int.toString (Int.abs (Random.randInt (!rnd)))
fun domainDir dom =
- String.concatWith "/" ("/
etc/domains" :: String.fields (fn ch => ch = #".") dom
)
+ String.concatWith "/" ("/
afs/hcoop.net/common/etc/domtool/nodes/deleuze" :: List.rev (String.fields (fn ch => ch = #".") dom)
)
fun readFile fname =
let
fun readFile fname =
let
@@
-80,4
+81,10
@@
fun readFile fname =
fun mem (x, ls) = List.exists (fn y => y = x) ls
fun mem (x, ls) = List.exists (fn y => y = x) ls
+val allLower = CharVector.map Char.toLower
+
+fun normEmail s = case String.tokens Char.isSpace (allLower s) of
+ s :: _ => s
+ | [] => ""
+
end
end