Date: Sun, 6 Feb 2022 02:55:49 GMT From: Ed Maste <emaste@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: d21e71efce39 - main - dma: use canonical getline() loop Message-ID: <202202060255.2162tnJL081324@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d21e71efce3963b068ccaa807a099b591dc220e9 commit d21e71efce3963b068ccaa807a099b591dc220e9 Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2022-02-03 18:51:06 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2022-02-06 02:55:03 +0000 dma: use canonical getline() loop getline() returns -1 on erorr or EOF, so use that condition instead of feof() and check that there was no error after the loop exits. Reviewed by: bapt, kevans (both earlier) MFC after: 3 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34159 --- contrib/dma/mail.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/contrib/dma/mail.c b/contrib/dma/mail.c index 9e00c22d71db..9641818b8814 100644 --- a/contrib/dma/mail.c +++ b/contrib/dma/mail.c @@ -405,10 +405,8 @@ readmail(struct queue *queue, int nodot, int recp_from_header) if ((ssize_t)error < 0) return (-1); - while (!feof(stdin)) { + while ((linelen = getline(&line, &linecap, stdin)) > 0) { newline[0] = '\0'; - if ((linelen = getline(&line, &linecap, stdin)) <= 0) - break; if (had_last_line) errlogx(EX_DATAERR, "bad mail input format:" " from %s (uid %d) (envelope-from %s)", @@ -510,8 +508,8 @@ readmail(struct queue *queue, int nodot, int recp_from_header) } } } - - ret = 0; + if (ferror(stdin) == 0) + ret = 0; fail: free(line); return (ret);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202202060255.2162tnJL081324>