aboutsummaryrefslogtreecommitdiffhomepage
path: root/System/Posix
diff options
context:
space:
mode:
Diffstat (limited to 'System/Posix')
-rw-r--r--System/Posix/User.hsc4
1 files changed, 3 insertions, 1 deletions
diff --git a/System/Posix/User.hsc b/System/Posix/User.hsc
index c13d7bd..cfa0879 100644
--- a/System/Posix/User.hsc
+++ b/System/Posix/User.hsc
@@ -146,6 +146,7 @@ getEffectiveUserName = do
data GroupEntry =
GroupEntry {
groupName :: String,
+ groupPassword :: String,
groupID :: GroupID,
groupMembers :: [String]
}
@@ -209,10 +210,11 @@ grBufSize = 2048 -- just assume some value (1024 is too small on OpenBSD)
unpackGroupEntry :: Ptr CGroup -> IO GroupEntry
unpackGroupEntry ptr = do
name <- (#peek struct group, gr_name) ptr >>= peekCString
+ passwd <- (#peek struct group, gr_passwd) ptr >>= peekCString
gid <- (#peek struct group, gr_gid) ptr
mem <- (#peek struct group, gr_mem) ptr
members <- peekArray0 nullPtr mem >>= mapM peekCString
- return (GroupEntry name gid members)
+ return (GroupEntry name passwd gid members)
-- -----------------------------------------------------------------------------
-- The user database (pwd.h)