From 317e793ef44551849d1da9148cf0fe4ba04c1915 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Wed, 23 Jun 2010 10:25:08 -0500 Subject: [PATCH] Fix all-users word by calling setpwent to rewind file --- basis/unix/ffi/ffi.factor | 2 ++ basis/unix/users/users.factor | 1 + 2 files changed, 3 insertions(+) diff --git a/basis/unix/ffi/ffi.factor b/basis/unix/ffi/ffi.factor index 640c7df5b6..6c6399b8bd 100644 --- a/basis/unix/ffi/ffi.factor +++ b/basis/unix/ffi/ffi.factor @@ -83,6 +83,8 @@ FUNCTION: c-string getenv ( c-string name ) ; FUNCTION: int getgrgid_r ( gid_t gid, group* grp, c-string buffer, size_t bufsize, group** result ) ; FUNCTION: int getgrnam_r ( c-string name, group* grp, c-string buffer, size_t bufsize, group** result ) ; FUNCTION: passwd* getpwent ( ) ; +FUNCTION: void setpwent ( ) ; +FUNCTION: void setpassent ( int stayopen ) ; FUNCTION: passwd* getpwuid ( uid_t uid ) ; FUNCTION: passwd* getpwnam ( c-string login ) ; FUNCTION: int getpwnam_r ( c-string login, passwd* pwd, c-string buffer, size_t bufsize, passwd** result ) ; diff --git a/basis/unix/users/users.factor b/basis/unix/users/users.factor index cd0eb7ada3..12eeb2735a 100644 --- a/basis/unix/users/users.factor +++ b/basis/unix/users/users.factor @@ -31,6 +31,7 @@ M: unix passwd>new-passwd ( passwd -- seq ) } cleave ; : with-pwent ( quot -- ) + setpwent [ unix.ffi:endpwent ] [ ] cleanup ; inline PRIVATE>