#ifndef __NHC__
, mallocForeignPtr -- :: Storable a => IO (ForeignPtr a)
, mallocForeignPtrBytes -- :: Int -> IO (ForeignPtr a)
+ , mallocForeignPtrArray -- :: Storable a => Int -> IO (ForeignPtr a)
+ , mallocForeignPtrArray0 -- :: Storable a => Int -> IO (ForeignPtr a)
#endif
)
where
castForeignPtr (MallocPtr a) = MallocPtr a
#endif
+#ifndef __NHC__
+mallocForeignPtrArray :: Storable a => Int -> IO (ForeignPtr a)
+mallocForeignPtrArray = doMalloc undefined
+ where
+ doMalloc :: Storable a => a -> Int -> IO (ForeignPtr a)
+ doMalloc dummy size = mallocForeignPtrBytes (size * sizeOf dummy)
+
+mallocForeignPtrArray0 :: Storable a => Int -> IO (ForeignPtr a)
+mallocForeignPtrArray0 size = mallocForeignPtrArray (size + 1)
+#endif