svn commit: r368714 - head/lib/libc/string

Konstantin Belousov kostikbel at gmail.com
Sat Dec 19 14:24:06 UTC 2020


On Sat, Dec 19, 2020 at 02:52:25PM +0100, Steffen Nurpmeso wrote:
> Kevin Bowling wrote in
>  <CAK7dMtBP4L42-o01ohLoPdsRFV6yAiLjKREtDo_KL1ACWvA9qA at mail.gmail.com>:
>  |On Thu, Dec 17, 2020 at 9:33 AM Ian Lepore <ian at freebsd.org> wrote:
>  |> On Thu, 2020-12-17 at 18:22 +0200, Konstantin Belousov wrote:
>  |>> On Thu, Dec 17, 2020 at 01:01:01PM +0000, Jessica Clarke wrote:
>  |>>> On 17 Dec 2020, at 12:53, Konstantin Belousov <kostikbel at 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
>  ...
>  |>>>>> +       return (0);
>  |>>>>
>  |>>>> return (0) is redundand.
>  ...
>  |>> 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
>  ...
>  |> How obscure is this quirk?  I've been writing C code since 1983,
>  |> including having released a freeware compiler (pre-gcc days) and
>  |> working on a commercial C compiler.  I used to moderate the c_language
>  |> conference on BIX (back when that was a thing).  I make my living
>  |> writing C and C++ code every day.  And yet, I had completely forgotten
>  |> about this quirk.
>  ...
>  |In Kib’s defense I think this is commonly mentioned in C99 books (at least
>  |that’s where I learned of it) so it depends on when and where someone
>  |learned.  There are merits approaches of being explicit or brief.  I have
> 
> Nicely said.  K&R C 2nd Ed. explicitly uses return(0) many times.

We are long after K&R in any of its form.

My point was that the example if of very low quality, and return (0); is
an indicator.  Perhaps even more interesting point to make is the mix of
return from main() and exit(3) use in same 4 lines.  Besides inconsistency,
exit(3) from main() should probably not used in examples or recommended
to novices at all.


More information about the svn-src-head mailing list