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);
 }
 
 /*
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to