- [uname, kbs] => loop ({uname = uname, kbs = valOf (Int.fromString kbs)} :: acc)
- | _ =>
- if ignoreThis line then
+ [vol, _, _, kbs, _, _] =>
+ let
+ val kbsOld = case SM.find (acc, vol) of
+ NONE => 0
+ | SOME n => n
+
+ val uname = case String.tokens (fn ch => ch = #".") vol of
+ [_, uname] =>
+ ((Posix.SysDB.getpwnam uname;
+ SOME uname)
+ handle OS.SysErr _ => NONE)
+ | _ => NONE
+
+ val acc = case uname of
+ NONE => acc
+ | SOME uname => SM.insert (acc, uname, valOf (Int.fromString kbs) + kbsOld)
+ in