From c8da04178c62278fffa19c3336158c7b71fba193 Mon Sep 17 00:00:00 2001 From: David Nugent Date: Fri, 7 Feb 1997 10:58:13 +0000 Subject: Fix useage of MAXLOGNAME to include terminating NUL, by using max(MAXLOGNAME-1,UT_NAMESIZE). Tidy up "pretty" printing format for longer usernames. --- pw/pw.c | 2 +- pw/pw_user.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'pw') diff --git a/pw/pw.c b/pw/pw.c index b7336e1..91412a8 100644 --- a/pw/pw.c +++ b/pw/pw.c @@ -62,7 +62,7 @@ main(int argc, char *argv[]) { /* user */ "C:qn:u:c:d:e:p:g:G:mk:s:oL:i:w:h:Db:NPy:Y", "C:qn:u:rY", - "C:qn:u:c:d:e:p:g:G:mk:s:w:L:h:FNPY", + "C:qn:u:c:d:e:p:g:G:ml:k:s:w:L:h:FNPY", "C:qn:u:FPa", "C:q" }, diff --git a/pw/pw_user.c b/pw/pw_user.c index effad9a..ebc754a 100644 --- a/pw/pw_user.c +++ b/pw/pw_user.c @@ -36,11 +36,20 @@ #include #include #include +#include +#if defined(USE_MD5RAND) #include +#endif #include "pw.h" #include "bitmap.h" #include "pwupd.h" +#if (MAXLOGNAME-1) > UT_NAMESIZE +#define LOGNAMESIZE UT_NAMESIZE +#else +#define LOGNAMESIZE (MAXLOGNAME-1) +#endif + static int print_user(struct passwd * pwd, int pretty); static uid_t pw_uidpolicy(struct userconf * cnf, struct cargs * args); static uid_t pw_gidpolicy(struct userconf * cnf, struct cargs * args, char *nam, gid_t prefer); @@ -993,7 +1002,7 @@ print_user(struct passwd * pwd, int pretty) strftime(acexpire, sizeof acexpire, "%c", tptr); if (pwd->pw_change > (time_t)9 && (tptr = localtime(&pwd->pw_change)) != NULL) strftime(pwexpire, sizeof pwexpire, "%c", tptr); - printf("Login Name: %-10s #%-16ld Group: %-10s #%ld\n" + printf("Login Name: %-15s #%-12ld Group: %-15s #%ld\n" " Full Name: %s\n" " Home: %-26.26s Class: %s\n" " Shell: %-26.26s Office: %s\n" @@ -1041,7 +1050,7 @@ pw_checkname(u_char *name, int gecos) name[l]); ++l; } - if (!gecos && l > MAXLOGNAME) + if (!gecos && l > LOGNAMESIZE) cmderr(EX_DATAERR, "name too long `%s'\n", name); return (char *)name; } -- cgit v1.2.3-56-ge451