Commit 52de87f5 authored by qrczak's avatar qrczak

[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.
parent 6c9a37e3
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
dnl Extra autoconf macros for the Glasgow fptools dnl Extra autoconf macros for the Glasgow fptools
dnl dnl
...@@ -527,7 +527,7 @@ fi ...@@ -527,7 +527,7 @@ fi
]) ])
dnl ** Obtain the value of a C constant. 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
dnl This is set up so that the argument can be a shell variable. dnl This is set up so that the argument can be a shell variable.
dnl dnl
...@@ -543,11 +543,11 @@ main() ...@@ -543,11 +543,11 @@ main()
{ {
FILE *f=fopen("conftestval", "w"); FILE *f=fopen("conftestval", "w");
if (!f) exit(1); if (!f) exit(1);
fprintf(f, "%d\n", $1); fprintf(f, "(%d)\n", $1);
exit(0); exit(0);
}], }],
eval "$cv_name=`cat conftestval`", eval "$cv_name=`cat conftestval`",
eval "$cv_name=0", eval "$cv_name='(-1)'",
ifelse([$2], , , eval "$cv_name=$2"))])dnl ifelse([$2], , , eval "$cv_name=$2"))])dnl
eval "fptools_check_cconst_result=`echo '$'{$cv_name}`" eval "fptools_check_cconst_result=`echo '$'{$cv_name}`"
AC_MSG_RESULT($fptools_check_cconst_result) AC_MSG_RESULT($fptools_check_cconst_result)
...@@ -860,7 +860,7 @@ dnl The variable LIBM (which is not an output variable by default) is ...@@ -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 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 in make's LOADLIBES macro) provided you AC_SUBST it first.
dnl 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> dnl @author Matthew D. Langston <langston@SLAC.Stanford.EDU>
# FPTOOLS_CHECK_LIBM - check for math library # 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, ...@@ -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 the version number increases, so you may have to adjust the above
dnl URL accordingly. dnl URL accordingly.
dnl 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> dnl @author Matthew D. Langston <langston@SLAC.Stanford.EDU>
AC_DEFUN(FPTOOLS_HAVE_OPENGL, AC_DEFUN(FPTOOLS_HAVE_OPENGL,
......
-- ----------------------------------------------------------------------------- -- -----------------------------------------------------------------------------
-- $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 -- (c) The University of Glasgow, 1994-2000
-- --
...@@ -354,9 +354,9 @@ getDirectoryContents path = do ...@@ -354,9 +354,9 @@ getDirectoryContents path = do
else do errno <- getErrno else do errno <- getErrno
if (errno == eINTR) then loop dir else do if (errno == eINTR) then loop dir else do
throwErrnoIfMinus1_ "getDirectoryContents" $ closedir dir throwErrnoIfMinus1_ "getDirectoryContents" $ closedir dir
if (isValidErrno errno) -- EOF if (errno == eOK)
then throwErrno "getDirectoryContents" then return []
else return [] else throwErrno "getDirectoryContents"
{- {-
If the operating system has a notion of current directories, If the operating system has a notion of current directories,
......
% ----------------------------------------------------------------------------- % -----------------------------------------------------------------------------
% $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 % (c) The FFI task force, 2000
% %
...@@ -19,7 +19,7 @@ module PrelCError ( ...@@ -19,7 +19,7 @@ module PrelCError (
-- Haskell representation for "errno" values -- Haskell representation for "errno" values
-- --
Errno(..), -- instance: Eq 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, eALREADY, eBADF, eBADMSG, eBADRPC, eBUSY, eCHILD, eCOMM, eCONNABORTED,
eCONNREFUSED, eCONNRESET, eDEADLK, eDESTADDRREQ, eDIRTY, eDOM, eDQUOT, eCONNREFUSED, eCONNRESET, eDEADLK, eDESTADDRREQ, eDIRTY, eDOM, eDQUOT,
eEXIST, eFAULT, eFBIG, eFTYPE, eHOSTDOWN, eHOSTUNREACH, eIDRM, eILSEQ, eEXIST, eFAULT, eFBIG, eFTYPE, eHOSTDOWN, eHOSTUNREACH, eIDRM, eILSEQ,
...@@ -146,7 +146,7 @@ instance Eq Errno where ...@@ -146,7 +146,7 @@ instance Eq Errno where
-- common "errno" symbols -- 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, eALREADY, eBADF, eBADMSG, eBADRPC, eBUSY, eCHILD, eCOMM, eCONNABORTED,
eCONNREFUSED, eCONNRESET, eDEADLK, eDESTADDRREQ, eDIRTY, eDOM, eDQUOT, eCONNREFUSED, eCONNRESET, eDEADLK, eDESTADDRREQ, eDIRTY, eDOM, eDQUOT,
eEXIST, eFAULT, eFBIG, eFTYPE, eHOSTDOWN, eHOSTUNREACH, eIDRM, eILSEQ, eEXIST, eFAULT, eFBIG, eFTYPE, eHOSTDOWN, eHOSTUNREACH, eIDRM, eILSEQ,
...@@ -164,6 +164,7 @@ e2BIG, eACCES, eADDRINUSE, eADDRNOTAVAIL, eADV, eAFNOSUPPORT, eAGAIN, ...@@ -164,6 +164,7 @@ e2BIG, eACCES, eADDRINUSE, eADDRNOTAVAIL, eADV, eAFNOSUPPORT, eAGAIN,
-- the CCONST_XXX identifiers are cpp symbols whose value is computed by -- the CCONST_XXX identifiers are cpp symbols whose value is computed by
-- configure -- configure
-- --
eOK = Errno 0
e2BIG = Errno CCONST_E2BIG e2BIG = Errno CCONST_E2BIG
eACCES = Errno CCONST_EACCES eACCES = Errno CCONST_EACCES
eADDRINUSE = Errno CCONST_EADDRINUSE eADDRINUSE = Errno CCONST_EADDRINUSE
...@@ -268,9 +269,9 @@ eXDEV = Errno CCONST_EXDEV ...@@ -268,9 +269,9 @@ eXDEV = Errno CCONST_EXDEV
-- --
isValidErrno :: Errno -> Bool 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 -- access to the current thread's "errno" value
...@@ -386,7 +387,7 @@ errnoToIOError loc errno@(Errno no) maybeHdl maybeName = ...@@ -386,7 +387,7 @@ errnoToIOError loc errno@(Errno no) maybeHdl maybeName =
#endif #endif
where where
(errType, str) (errType, str)
| no == 0 = (OtherError, | errno == eOK = (OtherError,
"no error") "no error")
| errno == e2BIG = (ResourceExhausted, | errno == e2BIG = (ResourceExhausted,
"argument list too long") "argument list too long")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment