summaryrefslogtreecommitdiff
path: root/ghc/lib/std
diff options
context:
space:
mode:
Diffstat (limited to 'ghc/lib/std')
-rw-r--r--ghc/lib/std/PrelIO.lhs10
1 files changed, 5 insertions, 5 deletions
diff --git a/ghc/lib/std/PrelIO.lhs b/ghc/lib/std/PrelIO.lhs
index dc56a7e85b..f500692bfa 100644
--- a/ghc/lib/std/PrelIO.lhs
+++ b/ghc/lib/std/PrelIO.lhs
@@ -140,12 +140,12 @@ hGetChar handle = do
hGetLine :: Handle -> IO String
hGetLine h = do
- buffer_mode <- wantWriteableHandle_ "hGetLine" h
- (\ handle_ -> do getBuffer handle_)
+ buffer_mode <- wantReadableHandle "hGetLine" h
+ (\ handle_ -> do return (haBufferMode__ handle_))
case buffer_mode of
- (NoBuffering, _, _) -> hGetLineUnBuffered h
- (LineBuffering, buf, bsz) -> hGetLineBuf' []
- (BlockBuffering _, buf, bsz) -> hGetLineBuf' []
+ NoBuffering -> hGetLineUnBuffered h
+ LineBuffering -> hGetLineBuf' []
+ BlockBuffering _ -> hGetLineBuf' []
where hGetLineBuf' xss = do
(eol, xss) <- catch