aboutsummaryrefslogtreecommitdiffhomepage
path: root/cbits
diff options
context:
space:
mode:
authorGravatar Herbert Valerio Riedel <hvr@gnu.org>2016-01-31 12:34:59 +0100
committerGravatar Herbert Valerio Riedel <hvr@gnu.org>2016-01-31 12:34:59 +0100
commitfb9b3eb74be56579deaa6e653686405e2e0463dd (patch)
tree29062167c7f0f41b1d711549599640ead9cb0601 /cbits
parent176d73e4240bb9d048d6c2d411ff839e379d1245 (diff)
Use CApiFFI for `ptsname(3)` et al for GHC>=8.0
Diffstat (limited to 'cbits')
-rw-r--r--cbits/HsUnix.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/cbits/HsUnix.c b/cbits/HsUnix.c
index 25fd8ad..5742b49 100644
--- a/cbits/HsUnix.c
+++ b/cbits/HsUnix.c
@@ -16,25 +16,14 @@ void *__hsunix_rtldNext (void) {return RTLD_NEXT;}
void *__hsunix_rtldDefault (void) {return RTLD_DEFAULT;}
#endif
-#ifdef HAVE_PTSNAME
+#if HAVE_PTSNAME && (__GLASGOW_HASKELL__ < 800)
// On Linux (and others), <stdlib.h> needs to be included while
// `_XOPEN_SOURCE` is already defined. However, GHCs before GHC 8.0
// didn't do that yet for CApiFFI, so we need this workaround here.
-char *__hsunix_ptsname(int fd)
-{
- return ptsname(fd);
-}
-
-int __hsunix_grantpt(int fd)
-{
- return grantpt(fd);
-}
-
-int __hsunix_unlockpt(int fd)
-{
- return unlockpt(fd);
-}
+char *__hsunix_ptsname(int fd) { return ptsname(fd); }
+int __hsunix_grantpt(int fd) { return grantpt(fd); }
+int __hsunix_unlockpt(int fd) { return unlockpt(fd); }
#endif
// push a SVR4 STREAMS module; do nothing if STREAMS not available
@@ -71,7 +60,6 @@ HsInt __hsunix_long_path_size(void) {
#endif
}
-
/*
* read an entry from the directory stream; opt for the
* re-entrant friendly way of doing this, if available.