X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Foreign%2FMarshal%2FArray.hs;h=2297a4ddd2ef259ab8f73c7da2d28dcbe4239d61;hb=c1f3c4852894174a3f7b855b29e8a42f60d4c019;hp=ce28ddb573938b9cf836012760cd90a282b319c7;hpb=5c99290b8ab03f819f7b630f374187a254b0cea1;p=ghc-base.git diff --git a/Foreign/Marshal/Array.hs b/Foreign/Marshal/Array.hs index ce28ddb..2297a4d 100644 --- a/Foreign/Marshal/Array.hs +++ b/Foreign/Marshal/Array.hs @@ -152,8 +152,8 @@ pokeArray :: Storable a => Ptr a -> [a] -> IO () #ifndef __GLASGOW_HASKELL__ pokeArray ptr vals = zipWithM_ (pokeElemOff ptr) [0..] vals #else -pokeArray ptr vals = go vals 0# - where go [] n# = return () +pokeArray ptr vals0 = go vals0 0# + where go [] _ = return () go (val:vals) n# = do pokeElemOff ptr (I# n#) val; go vals (n# +# 1#) #endif @@ -166,7 +166,7 @@ pokeArray0 marker ptr vals = do pokeArray ptr vals pokeElemOff ptr (length vals) marker #else -pokeArray0 marker ptr vals = go vals 0# +pokeArray0 marker ptr vals0 = go vals0 0# where go [] n# = pokeElemOff ptr (I# n#) marker go (val:vals) n# = do pokeElemOff ptr (I# n#) val; go vals (n# +# 1#) #endif