diff options
author | Simon Marlow <marlowsd@gmail.com> | 2013-01-30 09:20:23 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2013-01-30 09:20:23 +0000 |
commit | 625b9f86ff3ef8b9e0f7b58982268e5351b2eda2 (patch) | |
tree | 5a4758294425587394865f3df9cdcbf0121870f0 /System | |
parent | 1461d21ea3096e252fdd5698772dbfd1ad033d6a (diff) |
cope with missing pw_gecos (for Android)
Submitted by: Nathan Hüsken <nathan.huesken@posteo.de>
Diffstat (limited to 'System')
-rw-r--r-- | System/Posix/User.hsc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/System/Posix/User.hsc b/System/Posix/User.hsc index a62648d..de08314 100644 --- a/System/Posix/User.hsc +++ b/System/Posix/User.hsc @@ -453,7 +453,11 @@ unpackUserEntry ptr = do passwd <- (#peek struct passwd, pw_passwd) ptr >>= peekCAString uid <- (#peek struct passwd, pw_uid) ptr gid <- (#peek struct passwd, pw_gid) ptr +#ifdef HAVE_NO_PASSWD_PW_GECOS + gecos <- return "" -- pw_gecos does not exist on android +#else gecos <- (#peek struct passwd, pw_gecos) ptr >>= peekCAString +#endif dir <- (#peek struct passwd, pw_dir) ptr >>= peekCAString shell <- (#peek struct passwd, pw_shell) ptr >>= peekCAString return (UserEntry name passwd uid gid gecos dir shell) |