1 /*
2 * pwcat.c
3 *
4 * Generate a printable version of the password database.
5 */
6 /*
7 * Arnold Robbins, arnold@skeeve.com, May 1993
8 * Public Domain
9 * December 2010, move to ANSI C definition for main().
10 */
11
12 #if HAVE_CONFIG_H
13 #include <config.h>
14 #endif
15
16 #include <stdio.h>
17 #include <pwd.h>
18
19 #if defined (STDC_HEADERS)
20 #include <stdlib.h>
21 #endif
22
23 int
24 main(int argc, char **argv)
25 {
26 struct passwd *p;
27
28 while ((p = getpwent()) != NULL)
29 #ifdef HAVE_STRUCT_PASSWD_PW_PASSWD
30 printf("%s:%s:%ld:%ld:%s:%s:%s\n",
31 p->pw_name, p->pw_passwd, (long) p->pw_uid,
32 (long) p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell);
33 #else
34 printf("%s:*:%ld:%ld:%s:%s\n",
35 p->pw_name, (long) p->pw_uid,
36 (long) p->pw_gid, p->pw_dir, p->pw_shell);
37 #endif
38
39 endpwent();
40 return 0;
41 }