svn commit: r229572 - head/lib/libutil
Baptiste Daroussin
bapt at FreeBSD.org
Thu Jan 5 10:40:25 UTC 2012
Author: bapt
Date: Thu Jan 5 10:40:24 2012
New Revision: 229572
URL: http://svn.freebsd.org/changeset/base/229572
Log:
Add new pw_make_v7 to make a passwd line (in v7 format) out of a struct passwd
while here, fix missing parentheses of the return statement of pw_make.
Approved by: des (mentor)
Modified:
head/lib/libutil/libutil.h
head/lib/libutil/pw_util.c
Modified: head/lib/libutil/libutil.h
==============================================================================
--- head/lib/libutil/libutil.h Thu Jan 5 10:32:53 2012 (r229571)
+++ head/lib/libutil/libutil.h Thu Jan 5 10:40:24 2012 (r229572)
@@ -144,6 +144,7 @@ int pw_equal(const struct passwd *_pw1,
void pw_fini(void);
int pw_init(const char *_dir, const char *_master);
char *pw_make(const struct passwd *_pw);
+char *pw_make_v7(const struct passwd *_pw);
int pw_mkdb(const char *_user);
int pw_lock(void);
struct passwd *pw_scan(const char *_line, int _flags);
Modified: head/lib/libutil/pw_util.c
==============================================================================
--- head/lib/libutil/pw_util.c Thu Jan 5 10:32:53 2012 (r229571)
+++ head/lib/libutil/pw_util.c Thu Jan 5 10:40:24 2012 (r229572)
@@ -406,7 +406,21 @@ pw_make(const struct passwd *pw)
pw->pw_passwd, (uintmax_t)pw->pw_uid, (uintmax_t)pw->pw_gid,
pw->pw_class, (uintmax_t)pw->pw_change, (uintmax_t)pw->pw_expire,
pw->pw_gecos, pw->pw_dir, pw->pw_shell);
- return line;
+ return (line);
+}
+
+/*
+ * Make a passwd line (in v7 format) out of a struct passwd
+ */
+char *
+pw_make_v7(const struct passwd *pw)
+{
+ char *line;
+
+ asprintf(&line, "%s:*:%ju:%ju:%s:%s:%s", pw->pw_name,
+ (uintmax_t)pw->pw_uid, (uintmax_t)pw->pw_gid,
+ pw->pw_gecos, pw->pw_dir, pw->pw_shell);
+ return (line);
}
/*
More information about the svn-src-all
mailing list