diff options
Diffstat (limited to 'usr.sbin/sendmail/praliases/praliases.c')
| -rw-r--r-- | usr.sbin/sendmail/praliases/praliases.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/usr.sbin/sendmail/praliases/praliases.c b/usr.sbin/sendmail/praliases/praliases.c index b637cda551ec..2c22279205eb 100644 --- a/usr.sbin/sendmail/praliases/praliases.c +++ b/usr.sbin/sendmail/praliases/praliases.c @@ -39,7 +39,7 @@ static char copyright[] = #endif /* not lint */ #ifndef lint -static char sccsid[] = "@(#)praliases.c 8.1 (Berkeley) 6/7/93"; +static char sccsid[] = "@(#)praliases.c 8.3 (Berkeley) 3/6/94"; #endif /* not lint */ #include <ndbm.h> @@ -85,15 +85,16 @@ main(argc, argv) if (db = dbopen(buf, O_RDONLY, 0444 , DB_HASH, NULL)) { if (!argc) { while(!db->seq(db, &newdbkey, &newdbcontent, R_NEXT)) - printf("%s:%s\n", newdbkey.data, - newdbcontent.data); + printf("%.*s:%.*s\n", + newdbkey.size, newdbkey.data, + newdbcontent.size, newdbcontent.data); } else for (; *argv; ++argv) { newdbkey.data = *argv; newdbkey.size = strlen(*argv) + 1; - if ( !db->get(db, &newdbkey, &newdbcontent, 0) ) - printf("%s:%s\n", newdbkey.data, - newdbcontent.data); + if (!db->get(db, &newdbkey, &newdbcontent, 0)) + printf("%s:%.*s\n", newdbkey.data, + newdbcontent.size, newdbcontent.data); else printf("%s: No such key\n", newdbkey.data); @@ -107,10 +108,12 @@ main(argc, argv) exit(EX_OSFILE); } if (!argc) - for (key = dbm_nextkey(dbp); + for (key = dbm_firstkey(dbp); key.dptr != NULL; key = dbm_nextkey(dbp)) { content = dbm_fetch(dbp, key); - (void)printf("%s:%s\n", key.dptr, content.dptr); + (void)printf("%.*s:%.*s\n", + key.dsize, key.dptr, + content.dsize, content.dptr); } else for (; *argv; ++argv) { key.dptr = *argv; @@ -119,7 +122,8 @@ main(argc, argv) if (!content.dptr) (void)printf("%s: No such key\n", key.dptr); else - (void)printf("%s:%s\n", key.dptr, content.dptr); + (void)printf("%s:%.*s\n", key.dptr, + content.dsize, content.dptr); } #ifdef NEWDB } |
