From 03783d2758d2f35c01a8570da30f508c3b9e019b Mon Sep 17 00:00:00 2001 From: Herbert Valerio Riedel Date: Sat, 30 Jan 2016 18:23:15 +0100 Subject: Replace `__hsunix_getpwent` wrapper with CApiFFI --- System/Posix/User.hsc | 6 +++--- cbits/HsUnix.c | 8 -------- include/HsUnix.h | 5 ----- 3 files changed, 3 insertions(+), 16 deletions(-) diff --git a/System/Posix/User.hsc b/System/Posix/User.hsc index d1a794a..3e11389 100644 --- a/System/Posix/User.hsc +++ b/System/Posix/User.hsc @@ -378,11 +378,11 @@ getAllUserEntries = else do thisentry <- unpackUserEntry ppw worker (thisentry : accum) -foreign import ccall unsafe "__hsunix_getpwent" +foreign import capi unsafe "HsUnix.h getpwent" c_getpwent :: IO (Ptr CPasswd) -foreign import ccall unsafe "setpwent" +foreign import capi unsafe "HsUnix.h setpwent" c_setpwent :: IO () -foreign import ccall unsafe "endpwent" +foreign import capi unsafe "HsUnix.h endpwent" c_endpwent :: IO () #else getAllUserEntries = error "System.Posix.User.getAllUserEntries: not supported" diff --git a/cbits/HsUnix.c b/cbits/HsUnix.c index dc42098..fb63b45 100644 --- a/cbits/HsUnix.c +++ b/cbits/HsUnix.c @@ -16,14 +16,6 @@ void *__hsunix_rtldNext (void) {return RTLD_NEXT;} void *__hsunix_rtldDefault (void) {return RTLD_DEFAULT;} #endif -#ifdef HAVE_GETPWENT -// getpwent is a macro on some platforms, so we need a wrapper: -struct passwd *__hsunix_getpwent(void) -{ - return getpwent(); -} -#endif - #if HAVE_GETPWNAM_R // getpwnam_r is a macro on some platforms, so we need a wrapper: int __hsunix_getpwnam_r(const char *name, struct passwd *pw, char *buffer, diff --git a/include/HsUnix.h b/include/HsUnix.h index 87ac3e6..8b468b7 100644 --- a/include/HsUnix.h +++ b/include/HsUnix.h @@ -113,11 +113,6 @@ fall back to O_FSYNC, which should be the same */ # define WCOREDUMP(s) 0 #endif -#ifdef HAVE_GETPWENT -// getpwent is a macro on some platforms, so we need a wrapper: -struct passwd *__hsunix_getpwent(void); -#endif - #if HAVE_GETPWNAM_R // getpwnam_r is a macro on some platforms, so we need a wrapper: int __hsunix_getpwnam_r(const char *, struct passwd *, char *, size_t, -- cgit v1.2.3