From 7d35694e9286881c3aa8f5b82e27c11b29ec26c3 Mon Sep 17 00:00:00 2001 From: Simon Schubert Date: Tue, 21 Jul 2009 02:28:46 +0200 Subject: [PATCH] dma: treat seek errors as permanent errors --- libexec/dma/net.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libexec/dma/net.c b/libexec/dma/net.c index 4458815673..652107340f 100644 --- a/libexec/dma/net.c +++ b/libexec/dma/net.c @@ -349,6 +349,11 @@ deliver_remote(struct qitem *it, const char **errmsg) /* asprintf can't take const */ void *errmsgc = __DECONST(char **, errmsg); + if (fseek(it->mailf, it->hdrlen, SEEK_SET) != 0) { + asprintf(errmsgc, "can not seek: %s", strerror(errno)); + return (-1); + } + host = strrchr(it->addr, '@'); /* Should not happen */ if (host == NULL) { @@ -449,11 +454,6 @@ deliver_remote(struct qitem *it, const char **errmsg) send_remote_command(fd, "DATA"); READ_REMOTE_CHECK("DATA", 3); - if (fseek(it->mailf, it->hdrlen, SEEK_SET) != 0) { - syslog(LOG_ERR, "remote delivery deferred: cannot seek: %s", neterr); - return (1); - } - error = 0; while (!feof(it->mailf)) { if (fgets(line, sizeof(line), it->mailf) == NULL) -- 2.41.0