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 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,
......
-- -----------------------------------------------------------------------------
-- $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,
......
% -----------------------------------------------------------------------------
% $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")
......
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