summaryrefslogtreecommitdiffstats
path: root/contrib/sendmail/makemap/makemap.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/sendmail/makemap/makemap.c')
-rw-r--r--contrib/sendmail/makemap/makemap.c44
1 files changed, 24 insertions, 20 deletions
diff --git a/contrib/sendmail/makemap/makemap.c b/contrib/sendmail/makemap/makemap.c
index cabb18a..0506dc4 100644
--- a/contrib/sendmail/makemap/makemap.c
+++ b/contrib/sendmail/makemap/makemap.c
@@ -21,9 +21,10 @@ static char copyright[] =
#endif /* ! lint */
#ifndef lint
-static char id[] = "@(#)$Id: makemap.c,v 8.135.4.13 2000/10/05 23:00:50 gshapiro Exp $";
+static char id[] = "@(#)$Id: makemap.c,v 8.135.4.11 2000/09/13 01:11:10 gshapiro Exp $";
#endif /* ! lint */
+/* $FreeBSD$ */
#include <sys/types.h>
#ifndef ISC_UNIX
@@ -356,6 +357,7 @@ main(argc, argv)
exitstat = EX_OK;
if (unmake)
{
+ bool stop;
errno = database->smdb_cursor(database, &cursor, 0);
if (errno != SMDBE_OK)
{
@@ -369,18 +371,20 @@ main(argc, argv)
memset(&db_key, '\0', sizeof db_key);
memset(&db_val, '\0', sizeof db_val);
- for (lineno = 0; ; lineno++)
+ for (stop = FALSE, lineno = 0; !stop; lineno++)
{
errno = cursor->smdbc_get(cursor, &db_key, &db_val,
SMDB_CURSOR_GET_NEXT);
if (errno != SMDBE_OK)
- break;
-
- printf("%.*s\t%.*s\n",
- (int) db_key.size,
- (char *) db_key.data,
- (int) db_val.size,
- (char *)db_val.data);
+ {
+ stop = TRUE;
+ }
+ if (!stop)
+ printf("%.*s\t%.*s\n",
+ (int) db_key.data.size,
+ (char *) db_key.data.data,
+ (int) db_val.data.size,
+ (char *)db_val.data.data);
}
(void) cursor->smdbc_close(cursor);
@@ -427,16 +431,16 @@ main(argc, argv)
memset(&db_key, '\0', sizeof db_key);
memset(&db_val, '\0', sizeof db_val);
- db_key.data = ibuf;
+ db_key.data.data = ibuf;
for (p = ibuf; *p != '\0' && !(ISSEP(*p)); p++)
{
if (foldcase && isascii(*p) && isupper(*p))
*p = tolower(*p);
}
- db_key.size = p - ibuf;
+ db_key.data.size = p - ibuf;
if (inclnull)
- db_key.size++;
+ db_key.data.size++;
if (*p != '\0')
*p++ = '\0';
@@ -447,15 +451,15 @@ main(argc, argv)
fprintf(stderr,
"%s: %s: line %d: no RHS for LHS %s\n",
progname, mapname, lineno,
- (char *) db_key.data);
+ (char *) db_key.data.data);
exitstat = EX_DATAERR;
continue;
}
- db_val.data = p;
- db_val.size = strlen(p);
+ db_val.data.data = p;
+ db_val.data.size = strlen(p);
if (inclnull)
- db_val.size++;
+ db_val.data.size++;
/*
** Do the database insert.
@@ -464,8 +468,8 @@ main(argc, argv)
if (verbose)
{
printf("key=`%s', val=`%s'\n",
- (char *) db_key.data,
- (char *) db_val.data);
+ (char *) db_key.data.data,
+ (char *) db_val.data.data);
}
errno = database->smdb_put(database, &db_key, &db_val,
@@ -490,7 +494,7 @@ main(argc, argv)
fprintf(stderr,
"%s: %s: line %d: key %s: put error: %s\n",
progname, mapname, lineno,
- (char *) db_key.data,
+ (char *) db_key.data.data,
errstring(errno));
exitstat = EX_IOERR;
}
@@ -499,7 +503,7 @@ main(argc, argv)
fprintf(stderr,
"%s: %s: line %d: key %s: duplicate key\n",
progname, mapname,
- lineno, (char *) db_key.data);
+ lineno, (char *) db_key.data.data);
exitstat = EX_DATAERR;
}
}
OpenPOWER on IntegriCloud