diff --git a/ChangeLog b/ChangeLog index e0f42416..42dcf688 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-02-03 Nicolas François + + * lib/pwio.c, lib/pwio.h: New function to find an user by + its UID on the local database. + 2008-02-02 Nicolas François * po/*.po: Updated PO files. diff --git a/lib/pwio.c b/lib/pwio.c index 8dd6d61a..328ce326 100644 --- a/lib/pwio.c +++ b/lib/pwio.c @@ -96,6 +96,18 @@ const struct passwd *pw_locate (const char *name) return commonio_locate (&passwd_db, name); } +const struct passwd *pw_locate_uid (uid_t uid) +{ + const struct passwd *pwd; + + pw_rewind (); + while ( ((pwd = pw_next ()) != NULL) + && (pwd->pw_uid != uid)) { + } + + return pwd; +} + int pw_update (const struct passwd *pw) { return commonio_update (&passwd_db, (const void *) pw); diff --git a/lib/pwio.h b/lib/pwio.h index e060ed05..42082ebd 100644 --- a/lib/pwio.h +++ b/lib/pwio.h @@ -1,5 +1,7 @@ +#include extern int pw_close (void); extern const struct passwd *pw_locate (const char *); +extern const struct passwd *pw_locate_uid (uid_t uid); extern int pw_lock (void); extern int pw_name (const char *); extern const struct passwd *pw_next (void);