diff options
Diffstat (limited to 'testsuite/tests/lib/IO/misc001.hs')
-rw-r--r-- | testsuite/tests/lib/IO/misc001.hs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/testsuite/tests/lib/IO/misc001.hs b/testsuite/tests/lib/IO/misc001.hs new file mode 100644 index 0000000000..9f9f3e98d0 --- /dev/null +++ b/testsuite/tests/lib/IO/misc001.hs @@ -0,0 +1,24 @@ +import System.IO + +import Data.Char (toUpper) +import System.Directory (removeFile, doesFileExist) +import System.Environment (getArgs) + +main = do + [f1,f2] <- getArgs + h1 <- openFile f1 ReadMode + f <- doesFileExist f2 + if f then removeFile f2 else return () + h2 <- openFile f2 WriteMode + copyFile h1 h2 + hClose h1 + hClose h2 + +copyFile h1 h2 = do + eof <- hIsEOF h1 + if eof + then return () + else do + c <- hGetChar h1 + c <- hPutChar h2 (toUpper c) + copyFile h1 h2 |