diff options
Diffstat (limited to 'libutil')
-rw-r--r-- | libutil/libutil.h | 1 | ||||
-rw-r--r-- | libutil/pw_util.c | 11 |
2 files changed, 11 insertions, 1 deletions
diff --git a/libutil/libutil.h b/libutil/libutil.h index c79eaac..2ac5e97 100644 --- a/libutil/libutil.h +++ b/libutil/libutil.h @@ -155,6 +155,7 @@ int pw_edit(int _notsetuid); int pw_equal(const struct passwd *_pw1, const struct passwd *_pw2); void pw_fini(void); int pw_init(const char *_dir, const char *_master); +void pw_initpwd(struct passwd *_pw); char *pw_make(const struct passwd *_pw); char *pw_make_v7(const struct passwd *_pw); int pw_mkdb(const char *_user); diff --git a/libutil/pw_util.c b/libutil/pw_util.c index 112b6d8..1659c97 100644 --- a/libutil/pw_util.c +++ b/libutil/pw_util.c @@ -652,8 +652,16 @@ pw_dup(const struct passwd *pw) #include "pw_scan.h" /* - * Wrapper around an internal libc function + * Wrapper around some internal libc functions. */ + +void +pw_initpwd(struct passwd *pw) +{ + + __pw_initpwd(pw); +} + struct passwd * pw_scan(const char *line, int flags) { @@ -662,6 +670,7 @@ pw_scan(const char *line, int flags) if ((bp = strdup(line)) == NULL) return (NULL); + __pw_initpwd(&pw); if (!__pw_scan(bp, &pw, flags)) { free(bp); return (NULL); |