summaryrefslogtreecommitdiff
path: root/testsuite/tests/lib/IO/misc001.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/lib/IO/misc001.hs')
-rw-r--r--testsuite/tests/lib/IO/misc001.hs24
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