[project @ 2001-01-15 20:55:14 by qrczak]
authorqrczak <unknown>
Mon, 15 Jan 2001 20:55:15 +0000 (20:55 +0000)
committerqrczak <unknown>
Mon, 15 Jan 2001 20:55:15 +0000 (20:55 +0000)
Use -1 instead of 0 to mark unsupported errno names.
Add eOK for no error, i.e. corresponding to errno == 0.

aclocal.m4
ghc/lib/std/Directory.hsc
ghc/lib/std/PrelCError.lhs

index 0f59610..1c6b5bb 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: aclocal.m4,v 1.61 2001/01/08 12:58:45 chak Exp $
+dnl $Id: aclocal.m4,v 1.62 2001/01/15 20:55:14 qrczak Exp $
 dnl 
 dnl Extra autoconf macros for the Glasgow fptools
 dnl
@@ -527,7 +527,7 @@ fi
 ])
 
 dnl ** Obtain the value of a C constant.
-dnl    The value will be `0' if the constant is undefined.
+dnl    The value will be `(-1)' if the constant is undefined.
 dnl
 dnl    This is set up so that the argument can be a shell variable.
 dnl
@@ -543,11 +543,11 @@ main()
 {
   FILE *f=fopen("conftestval", "w");
   if (!f) exit(1);
-  fprintf(f, "%d\n", $1);
+  fprintf(f, "(%d)\n", $1);
   exit(0);
 }], 
 eval "$cv_name=`cat conftestval`",
-eval "$cv_name=0",
+eval "$cv_name='(-1)'",
 ifelse([$2], , , eval "$cv_name=$2"))])dnl
 eval "fptools_check_cconst_result=`echo '$'{$cv_name}`"
 AC_MSG_RESULT($fptools_check_cconst_result)
@@ -860,7 +860,7 @@ dnl The variable LIBM (which is not an output variable by default) is
 dnl set to a value which is suitable for use in a Makefile (for example,
 dnl in make's LOADLIBES macro) provided you AC_SUBST it first.
 dnl
-dnl @version 0.01 $Id: aclocal.m4,v 1.61 2001/01/08 12:58:45 chak Exp $
+dnl @version 0.01 $Id: aclocal.m4,v 1.62 2001/01/15 20:55:14 qrczak Exp $
 dnl @author Matthew D. Langston <langston@SLAC.Stanford.EDU>
 
 # FPTOOLS_CHECK_LIBM - check for math library
@@ -948,7 +948,7 @@ dnl Please note that as the ac_opengl macro and the toy example evolves,
 dnl the version number increases, so you may have to adjust the above
 dnl URL accordingly.
 dnl
-dnl @version 0.01 $Id: aclocal.m4,v 1.61 2001/01/08 12:58:45 chak Exp $
+dnl @version 0.01 $Id: aclocal.m4,v 1.62 2001/01/15 20:55:14 qrczak Exp $
 dnl @author Matthew D. Langston <langston@SLAC.Stanford.EDU>
 
 AC_DEFUN(FPTOOLS_HAVE_OPENGL,
index 2672fea..d47841e 100644 (file)
@@ -1,5 +1,5 @@
 -- -----------------------------------------------------------------------------
--- $Id: Directory.hsc,v 1.3 2001/01/12 17:45:30 qrczak Exp $
+-- $Id: Directory.hsc,v 1.4 2001/01/15 20:55:14 qrczak Exp $
 --
 -- (c) The University of Glasgow, 1994-2000
 --
@@ -354,9 +354,9 @@ getDirectoryContents path = do
         else do errno <- getErrno
                 if (errno == eINTR) then loop dir else do
                 throwErrnoIfMinus1_ "getDirectoryContents" $ closedir dir
-                if (isValidErrno errno) -- EOF
-                   then throwErrno "getDirectoryContents"
-                   else return []
+                if (errno == eOK)
+                   then return []
+                   else throwErrno "getDirectoryContents"
 
 {-
 If the operating system has a notion of current directories,
index 757f43b..9792030 100644 (file)
@@ -1,5 +1,5 @@
 % -----------------------------------------------------------------------------
-% $Id: PrelCError.lhs,v 1.2 2001/01/12 17:45:30 qrczak Exp $
+% $Id: PrelCError.lhs,v 1.3 2001/01/15 20:55:14 qrczak Exp $
 %
 % (c) The FFI task force, 2000
 %
@@ -19,7 +19,7 @@ module PrelCError (
   -- Haskell representation for "errno" values
   --
   Errno(..),           -- instance: Eq
-  e2BIG, eACCES, eADDRINUSE, eADDRNOTAVAIL, eADV, eAFNOSUPPORT, eAGAIN, 
+  eOK, e2BIG, eACCES, eADDRINUSE, eADDRNOTAVAIL, eADV, eAFNOSUPPORT, eAGAIN, 
   eALREADY, eBADF, eBADMSG, eBADRPC, eBUSY, eCHILD, eCOMM, eCONNABORTED, 
   eCONNREFUSED, eCONNRESET, eDEADLK, eDESTADDRREQ, eDIRTY, eDOM, eDQUOT, 
   eEXIST, eFAULT, eFBIG, eFTYPE, eHOSTDOWN, eHOSTUNREACH, eIDRM, eILSEQ, 
@@ -146,7 +146,7 @@ instance Eq Errno where
 
 -- common "errno" symbols
 --
-e2BIG, eACCES, eADDRINUSE, eADDRNOTAVAIL, eADV, eAFNOSUPPORT, eAGAIN, 
+eOK, e2BIG, eACCES, eADDRINUSE, eADDRNOTAVAIL, eADV, eAFNOSUPPORT, eAGAIN, 
   eALREADY, eBADF, eBADMSG, eBADRPC, eBUSY, eCHILD, eCOMM, eCONNABORTED, 
   eCONNREFUSED, eCONNRESET, eDEADLK, eDESTADDRREQ, eDIRTY, eDOM, eDQUOT, 
   eEXIST, eFAULT, eFBIG, eFTYPE, eHOSTDOWN, eHOSTUNREACH, eIDRM, eILSEQ, 
@@ -164,6 +164,7 @@ e2BIG, eACCES, eADDRINUSE, eADDRNOTAVAIL, eADV, eAFNOSUPPORT, eAGAIN,
 -- the CCONST_XXX identifiers are cpp symbols whose value is computed by
 -- configure 
 --
+eOK             = Errno 0
 e2BIG           = Errno CCONST_E2BIG
 eACCES         = Errno CCONST_EACCES
 eADDRINUSE     = Errno CCONST_EADDRINUSE
@@ -268,9 +269,9 @@ eXDEV               = Errno CCONST_EXDEV
 --
 isValidErrno               :: Errno -> Bool
 --
--- the configure script sets all invalid "errno"s to 0
+-- the configure script sets all invalid "errno"s to -1
 --
-isValidErrno (Errno errno)  = errno /= 0
+isValidErrno (Errno errno)  = errno /= -1
 
 
 -- access to the current thread's "errno" value
@@ -386,7 +387,7 @@ errnoToIOError loc errno@(Errno no) maybeHdl maybeName =
 #endif
   where
     (errType, str)
-      | no == 0                   = (OtherError,
+      | errno == eOK              = (OtherError,
                                     "no error")
       | errno == e2BIG            = (ResourceExhausted,
                                     "argument list too long")