blob: 2a5768039d355e818f8a8cf2230d540725604d22 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
module Cgrun067A (miscompiledFn) where
import Foreign.C
import Foreign
miscompiledFn :: CString -> IO String
miscompiledFn cp = do
l <- lengthArray0 0 cp
if l <= 0 then return "" else loop "" (l-1)
where
loop s i = do
xval <- peekElemOff cp i
let val = castCCharToChar xval
val `seq` if i <= 0 then return (val:s) else loop (val:s) (i-1)
|