summaryrefslogtreecommitdiff
path: root/ghc/misc/examples/posix/po010/Main.hs
blob: bfc890941f2478a8f78d6b93945e413bb72fccb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import LibPosix

main =
    getUserEntryForName "mattson" >>= \ mattson ->
    getUserEntryForName "partain" >>= \ partain ->
    putStr (ue2String mattson) >>
    putChar '\n' >>    
    putStr (ue2String partain) >>
    putChar '\n' >>    
    getUserEntryForID (userID mattson) >>= \ muid ->
    getUserEntryForID (userID partain) >>= \ puid ->
    putStr (ue2String muid) >>
    putChar '\n' >>    
    putStr (ue2String puid) >>
    putChar '\n'

ue2String ue =
    name ++ (':' : (show uid) ++ (':' : (show gid) ++ (':' : home ++ (':' : shell))))
  where
    name = userName ue
    uid = userID ue
    gid = userGroupID ue
    home = homeDirectory ue
    shell = userShell ue