summaryrefslogtreecommitdiff
path: root/ghc/misc/examples/posix/po010/Main.hs
diff options
context:
space:
mode:
Diffstat (limited to 'ghc/misc/examples/posix/po010/Main.hs')
-rw-r--r--ghc/misc/examples/posix/po010/Main.hs24
1 files changed, 24 insertions, 0 deletions
diff --git a/ghc/misc/examples/posix/po010/Main.hs b/ghc/misc/examples/posix/po010/Main.hs
new file mode 100644
index 0000000000..bfc890941f
--- /dev/null
+++ b/ghc/misc/examples/posix/po010/Main.hs
@@ -0,0 +1,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 \ No newline at end of file