diff options
Diffstat (limited to 'contrib/dma/net.c')
-rw-r--r-- | contrib/dma/net.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/contrib/dma/net.c b/contrib/dma/net.c index 26935a8..47ee928 100644 --- a/contrib/dma/net.c +++ b/contrib/dma/net.c @@ -372,11 +372,13 @@ deliver_to_host(struct qitem *it, struct mx_hostentry *host) host->host, host->addr, c, neterr); \ snprintf(errmsg, sizeof(errmsg), "%s [%s] did not like our %s:\n%s", \ host->host, host->addr, c, neterr); \ - return (-1); \ + error = -1; \ + goto out; \ } else if (res != exp) { \ syslog(LOG_NOTICE, "remote delivery deferred: %s [%s] failed after %s: %s", \ host->host, host->addr, c, neterr); \ - return (1); \ + error = 1; \ + goto out; \ } /* Check first reply from remote host */ @@ -426,7 +428,8 @@ deliver_to_host(struct qitem *it, struct mx_hostentry *host) syslog(LOG_ERR, "remote delivery failed:" " SMTP login failed: %m"); snprintf(errmsg, sizeof(errmsg), "SMTP login to %s failed", host->host); - return (-1); + error = -1; + goto out; } /* SMTP login is not available, so try without */ else if (error > 0) { |