[project @ 2003-08-19 16:39:13 by simonmar]
[haskell-directory.git] / include / HsBase.h
index d5c99ab..51f2e60 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: HsBase.h,v 1.19 2003/02/17 11:43:21 simonmar Exp $
+ * $Id: HsBase.h,v 1.23 2003/08/19 16:39:14 simonmar Exp $
  *
  * (c) The University of Glasgow 2001-2002
  *
@@ -78,6 +78,9 @@
 #ifdef HAVE_LIMITS_H
 #include <limits.h>
 #endif
+#ifdef HAVE_WCTYPE_H
+#include <wctype.h>
+#endif
 
 #if !defined(mingw32_TARGET_OS) && !defined(irix_TARGET_OS)
 # if defined(HAVE_SYS_RESOURCE_H)
 /* in ghc_errno.c */
 int *ghcErrno(void);
 
-#if !defined(__HUGS__)
-/* The rest isn't needed by Hugs, so we break off here. */
-
 /* in system.c */
 HsInt systemCmd(HsAddr cmd);
 
 /* in rawSystem.c */
-HsInt rawSystemCmd(HsAddr cmd);
+#if defined(mingw32_TARGET_OS)
+HsInt rawSystem(HsAddr cmd);
+#else
+HsInt rawSystem(HsAddr cmd, HsAddr args);
+#endif
 
 /* in inputReady.c */
 int inputReady(int fd, int msecs, int isSock);
@@ -380,10 +384,10 @@ __hscore_PrelHandle_write( HsInt fd, HsBool isSock, HsAddr ptr,
 {
 #if defined(__MINGW32__)
   if (isSock) {
-    return send(fd,ptr + off, sz, 0);
+    return send(fd,(char *)ptr + off, sz, 0);
   }
 #endif
-  return write(fd,ptr + off, sz);
+  return write(fd,(char *)ptr + off, sz);
 }
 
 INLINE HsInt
@@ -392,10 +396,10 @@ __hscore_PrelHandle_read( HsInt fd, HsBool isSock, HsAddr ptr,
 {
 #if defined(__MINGW32__)
   if (isSock) {
-    return recv(fd,ptr + off, sz, 0);
+    return recv(fd,(char *)ptr + off, sz, 0);
   }
 #endif
-  return read(fd,ptr + off, sz);
+  return read(fd,(char *)ptr + off, sz);
 
 }
 
@@ -642,7 +646,5 @@ INLINE int __hsposix_SIG_UNBLOCK() { return SIG_SETMASK; }
 INLINE int __hsposix_SIG_SETMASK() { return SIG_UNBLOCK; }
 #endif /* mingw32_TARGET_OS */
 
-#endif /* !__HUGS__ */
-
 #endif /* __HSBASE_H__ */