HCoop
/
hcoop
/
domtool2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
45f333d
)
Remove ACL entries for users with no permissions
author
Adam Chlipala
<adamc@hcoop.net>
Mon, 14 May 2007 00:02:49 +0000
(
00:02
+0000)
committer
Adam Chlipala
<adamc@hcoop.net>
Mon, 14 May 2007 00:02:49 +0000
(
00:02
+0000)
src/acl.sml
patch
|
blob
|
blame
|
history
diff --git
a/src/acl.sml
b/src/acl.sml
index
135e555
..
f7307b0
100644
(file)
--- a/
src/acl.sml
+++ b/
src/acl.sml
@@
-87,10
+87,18
@@
fun revoke {user, class, value} =
SS.delete (values, value)
else
values
SS.delete (values, value)
else
values
+
+ val classes = if SS.isEmpty values then
+ (#1 (SM.remove (classes, class)))
+ handle NotFound => classes
+ else
+ SM.insert (classes, class, values)
in
in
- acl := SM.insert (!acl, user,
- SM.insert (classes, class,
- values))
+ if SM.numItems classes = 0 then
+ (acl := #1 (SM.remove (!acl, user)))
+ handle NotFound => ()
+ else
+ acl := SM.insert (!acl, user, classes)
end
fun revokeFromAll {class, value} =
end
fun revokeFromAll {class, value} =