Page MenuHomeFreeBSD

man: do not ignore the exit status of roff tools
ClosedPublic

Authored by wosch on Apr 15 2024, 1:06 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, May 21, 11:55 PM
Unknown Object (File)
Tue, May 21, 11:55 PM
Unknown Object (File)
Tue, May 21, 11:18 PM
Unknown Object (File)
Fri, May 3, 4:35 AM
Unknown Object (File)
Tue, Apr 30, 1:15 AM
Unknown Object (File)
Mon, Apr 29, 5:03 PM
Unknown Object (File)
Fri, Apr 26, 5:12 AM
Unknown Object (File)
Apr 20 2024, 9:01 AM
Subscribers

Details

Summary
Test Plan

cat /dev/null > /tmp/bla.1.gz
man /tmp/bla.1.gz >/dev/null; echo $?

gzcat: /tmp/bla.1.gz: unexpected end of file
gzcat: /tmp/bla.1.gz: unexpected end of file
grotty:<standard input>:(<standard input>):6: fatal error: 'V' command invalid before first 'p' command
1

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

wosch requested review of this revision.Apr 15 2024, 1:06 PM
wosch added reviewers: kevans, bapt, emaste, jilles.

OK. Discarding errors from $cattool is not directly related to the original issue, right?

This revision is now accepted and ready to land.Apr 15 2024, 1:15 PM

OK. Discarding errors from $cattool is not directly related to the original issue, right?

gzip may print (a useless) error message for large files if we catch SIGPIPE. E.g.

small input
(set -o pipefail; trap '' SIGPIPE; man cat | gzip |gzip -dc | head -1 >/dev/null; echo $?)
0

large input for gzcat
(set -o pipefail; trap '' SIGPIPE; man tcsh | gzip |gzip -dc | head -1 >/dev/null; echo $?)
gzcat: error writing to output: Broken pipe
gzcat: /usr/share/man/man1/tcsh.1.gz: uncompress failed
gzip: error writing to output: Broken pipe
1

You don't want to bother users with this new warnings.