BSD 4_4_Lite1 release
[unix-history] / usr / src / usr.sbin / sendmail / praliases / praliases.c
index b637cda..2c22279 100644 (file)
@@ -39,7 +39,7 @@ static char copyright[] =
 #endif /* not lint */
 
 #ifndef lint
 #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>
 #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))
        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;
                }
                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);
                        else
                                printf("%s: No such key\n",
                                        newdbkey.data);
@@ -107,10 +108,12 @@ main(argc, argv)
                        exit(EX_OSFILE);
                }
                if (!argc)
                        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);
                            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;
                        }
                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
                        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
        }
                }
 #ifdef NEWDB
        }