From 52de87f59beb6d06b68e6b7c2946b1ea24043531 Mon Sep 17 00:00:00 2001 From: qrczak Date: Mon, 15 Jan 2001 20:55:15 +0000 Subject: [PATCH 1/1] [project @ 2001-01-15 20:55:14 by qrczak] Use -1 instead of 0 to mark unsupported errno names. Add eOK for no error, i.e. corresponding to errno == 0. --- aclocal.m4 | 12 ++++++------ ghc/lib/std/Directory.hsc | 8 ++++---- ghc/lib/std/PrelCError.lhs | 13 +++++++------ 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/aclocal.m4 b/aclocal.m4 index 0f59610..1c6b5bb 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -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 # 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 AC_DEFUN(FPTOOLS_HAVE_OPENGL, diff --git a/ghc/lib/std/Directory.hsc b/ghc/lib/std/Directory.hsc index 2672fea..d47841e 100644 --- a/ghc/lib/std/Directory.hsc +++ b/ghc/lib/std/Directory.hsc @@ -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, diff --git a/ghc/lib/std/PrelCError.lhs b/ghc/lib/std/PrelCError.lhs index 757f43b..9792030 100644 --- a/ghc/lib/std/PrelCError.lhs +++ b/ghc/lib/std/PrelCError.lhs @@ -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") -- 1.7.10.4