Fix incorrect changes to C types in a foreign import for nhc98.
[haskell-directory.git] / System / Environment.hs
index 1235920..ce972a0 100644 (file)
@@ -29,12 +29,12 @@ module System.Environment
 import Prelude
 
 #ifdef __GLASGOW_HASKELL__
+import Data.List
 import Foreign
 import Foreign.C
 import Control.Exception       ( bracket )
 import Control.Monad
 import GHC.IOBase
-#include "ghcconfig.h"
 #endif
 
 #ifdef __HUGS__
@@ -166,11 +166,11 @@ freeArgv argv = do
 setArgs :: [String] -> IO (Ptr CString)
 setArgs argv = do
   vs <- mapM newCString argv >>= newArray0 nullPtr
-  setArgsPrim (length argv) vs
+  setArgsPrim (genericLength argv) vs
   return vs
 
 foreign import ccall unsafe "setProgArgv" 
-  setArgsPrim  :: Int -> Ptr CString -> IO ()
+  setArgsPrim  :: CInt -> Ptr CString -> IO ()
 
 -- |'getEnvironment' retrieves the entire environment as a
 -- list of @(key,value)@ pairs.