Date: Thu, 17 Dec 2020 18:22:13 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: Jessica Clarke <jrtc27@freebsd.org> Cc: Mateusz Piotrowski <0mp@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r368714 - head/lib/libc/string Message-ID: <X9uFtba%2BjzVroNPV@kib.kiev.ua> In-Reply-To: <686CF2E6-1D3C-4A83-A323-02CD9F536675@freebsd.org> References: <202012171241.0BHCfl1r008452@repo.freebsd.org> <X9tU0kTm9V6KoCRr@kib.kiev.ua> <686CF2E6-1D3C-4A83-A323-02CD9F536675@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Dec 17, 2020 at 01:01:01PM +0000, Jessica Clarke wrote: > On 17 Dec 2020, at 12:53, Konstantin Belousov <kostikbel@gmail.com> wrote: > > > > On Thu, Dec 17, 2020 at 12:41:47PM +0000, Mateusz Piotrowski wrote: > >> Author: 0mp (doc,ports committer) > >> Date: Thu Dec 17 12:41:47 2020 > >> New Revision: 368714 > >> URL: https://svnweb.freebsd.org/changeset/base/368714 > >> > >> Log: > >> strerror.3: Add an example for perror() > >> > >> This is a nice and quick reference. > >> > >> Reviewed by: jilles, yuripv > >> MFC after: 2 weeks > >> Differential Revision: https://reviews.freebsd.org/D27623 > >> > >> Modified: > >> head/lib/libc/string/strerror.3 > >> > >> Modified: head/lib/libc/string/strerror.3 > >> ============================================================================== > >> --- head/lib/libc/string/strerror.3 Thu Dec 17 03:42:54 2020 (r368713) > >> +++ head/lib/libc/string/strerror.3 Thu Dec 17 12:41:47 2020 (r368714) > >> @@ -32,7 +32,7 @@ > >> .\" @(#)strerror.3 8.1 (Berkeley) 6/9/93 > >> .\" $FreeBSD$ > >> .\" > >> -.Dd December 7, 2020 > >> +.Dd December 17, 2020 > >> .Dt STRERROR 3 > >> .Os > >> .Sh NAME > >> @@ -170,6 +170,31 @@ The use of these variables is deprecated; > >> or > >> .Fn strerror_r > >> should be used instead. > >> +.Sh EXAMPLES > >> +The following example shows how to use > >> +.Fn perror > >> +to report an error. > >> +.Bd -literal -offset 2n > >> +#include <fcntl.h> > >> +#include <stdio.h> > >> +#include <stdlib.h> > >> + > >> +int > >> +main(void) > >> +{ > >> + int fd; > >> + > >> + if ((fd = open("/nonexistent", O_RDONLY)) == -1) { > >> + perror("open()"); > >> + exit(1); > >> + } > >> + printf("File descriptor: %d\en", fd); > > This lines is indented with spaces, while other lines have tabs. > > > >> + return (0); > > return (0) is redundand. > > It's not required as per the standard, but omitting it is needlessly > obfuscating it and bad practice. C lets you do a whole load of things > that are a bad idea, and whilst this one is harmless, it is nonetheless > confusing to anyone who is not intimately acquainted quirks like this > special case in the standard. Why it is bad practice ? C is a small language, and while knowing some quirks (like this one) seems to be optional, others are not. And worse, that other quirks are essential for writing correct code at all. Consequence is that ignoring details indicates insufficient knowledge of the fundamentals and lowers the trust in the provided suggestion.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?X9uFtba%2BjzVroNPV>