summaryrefslogtreecommitdiff
path: root/gnu/dist/postfix/src/cleanup/cleanup_envelope.c
diff options
context:
space:
mode:
authorheas <heas@NetBSD.org>2004-03-27 16:31:19 +0000
committerheas <heas@NetBSD.org>2004-03-27 16:31:19 +0000
commitf32166d8a91a2c82316a00a40ee4842e27ec245d (patch)
tree23fa8e0342da03f7dc80d4e582d0351d2a2f3724 /gnu/dist/postfix/src/cleanup/cleanup_envelope.c
parent5f1ffa71fcd47bffcc5eb3f23221d6570b558e8f (diff)
merge from 2.0.19 import
Diffstat (limited to 'gnu/dist/postfix/src/cleanup/cleanup_envelope.c')
-rw-r--r--gnu/dist/postfix/src/cleanup/cleanup_envelope.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gnu/dist/postfix/src/cleanup/cleanup_envelope.c b/gnu/dist/postfix/src/cleanup/cleanup_envelope.c
index 3ef96b0e8e7..5be545bb5ac 100644
--- a/gnu/dist/postfix/src/cleanup/cleanup_envelope.c
+++ b/gnu/dist/postfix/src/cleanup/cleanup_envelope.c
@@ -153,10 +153,12 @@ static void cleanup_envelope_process(CLEANUP_STATE *state, int type, char *buf,
}
}
if (type == REC_TYPE_TIME) {
- state->time = atol(buf);
+ if (state->time == 0)
+ state->time = atol(buf);
cleanup_out(state, type, buf, len);
} else if (type == REC_TYPE_FULL) {
- state->fullname = mystrdup(buf);
+ if (state->fullname == 0)
+ state->fullname = mystrdup(buf);
} else if (type == REC_TYPE_FROM) {
VSTRING *clean_addr = vstring_alloc(100);
@@ -211,6 +213,8 @@ static void cleanup_envelope_process(CLEANUP_STATE *state, int type, char *buf,
vstring_free(clean_addr);
myfree(state->orig_rcpt);
state->orig_rcpt = 0;
+ } else if (type == REC_TYPE_DONE) {
+ /* void */ ;
} else if (type == REC_TYPE_WARN) {
if ((state->warn_time = atol(buf)) < 0) {
state->errs |= CLEANUP_STAT_BAD;