Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #101544

Re: standard error codes

From Richard Heathfield <rjh@cpax.org.uk>
Newsgroups comp.lang.c
Subject Re: standard error codes
Date 2017-01-12 19:50 +0000
Organization Fix this later
Message-ID <o58miv$4ud$1@dont-email.me> (permalink)
References (17 earlier) <87o9zdtgzo.fsf@gmail.com> <o57o66$urn$1@dont-email.me> <lnwpe0nq6n.fsf@kst-u.example.com> <o58gg3$d6i$1@dont-email.me> <lnshoonk3c.fsf@kst-u.example.com>

Show all headers | View raw


On 12/01/17 19:39, Keith Thompson wrote:
> Richard Heathfield <rjh@cpax.org.uk> writes:

<snip>

>> Actually, I agree with David here: strdiff would be a better name, for
>> the same reason that diff(1) is well-named (see below).
>
> I still disagree, for the reasons I've stated, but it's not a big deal.

Agreed (that it's not a big deal).

>>> And in the case of strcmp, you can think of the
>>> negative/zero/positive result it returns as a *comparison*, which
>>> makes the name strcmp, perfectly sensible.  It's not the most
>>> intuitive name, but it's more than good enough.
>>
>> Yes. Although strdiff would be a better name, strcmp will do.
>>
>>> (A somewhat irrelevant example: the Unix "diff" command returns
>>> a result indicating success if the two files do *not* differ.
>>> That probably bothered me for a couple of minutes when I first
>>> learned about it.)
>>
>> diff returns 0 if the diff is 0. What's to be bothered about?
>
> The status returned by a command is not a count, it's a success/failure
> indication, with an opportunity to distinguish among different kinds of
> failures (at least on Unix-like systems, where EXIT_SUCCESS==0 and any
> non-zero status (modulo 256) denotes failure).

Sure. But ALMOST without exception, when I call diff, I'm using it to 
determine whether a difference exists between two files that I expect to 
be the same. Thus, a difference would count as failure. No difference 
would count as success, and by a happy coincidence 0 (success) is what 
is returned when there is no difference between the two files. This is a 
perfectly reasonable way to justify the choices that the diff writers 
made...

> The shell's "if" statement treats a successful status of 0 as
> a true condition.  One might naively assume that:
>
>     if diff file1 file2 ; then
>         echo yes
>     else
>         echo no
>     fi
>
> would print "yes" if the files differ.

...and that is an equally reasonable contrary view. :-)

> (csh/tcsh use different syntax,
> but the same idea holds.)  And typically the output of the diff command
> is of more interest than its status.

For me at least, typically the /lack/ of output of the diff command is 
what I like to see. (But that's only another way of saying the same thing.)

Anyway... back to C?

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

standard  error codes Thiago Adams <thiago.adams@gmail.com> - 2017-01-08 06:34 -0800
  Re: standard  error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-08 11:05 -0800
    Re: standard  error codes Thiago Adams <thiago.adams@gmail.com> - 2017-01-09 03:33 -0800
      Re: standard  error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-09 04:55 -0800
        Re: standard  error codes Keith Thompson <kst-u@mib.org> - 2017-01-09 09:06 -0800
          Re: standard  error codes Thiago Adams <thiago.adams@gmail.com> - 2017-01-09 09:52 -0800
            Re: standard error codes BartC <bc@freeuk.com> - 2017-01-09 21:50 +0000
              Re: standard error codes BartC <bc@freeuk.com> - 2017-01-09 22:36 +0000
                Re: standard error codes supercat@casperkitty.com - 2017-01-09 14:51 -0800
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-09 23:39 +0000
                Re: standard error codes supercat@casperkitty.com - 2017-01-09 15:51 -0800
                Re: standard error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-09 16:08 -0800
                Re: standard error codes supercat@casperkitty.com - 2017-01-09 18:51 -0800
                Re: standard error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-10 02:02 -0800
                Re: standard error codes supercat@casperkitty.com - 2017-01-10 07:34 -0800
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-10 01:39 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-10 09:07 -0800
                Re: standard error codes supercat@casperkitty.com - 2017-01-10 09:59 -0800
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-10 12:02 -0800
                Re: standard error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-10 12:53 -0800
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-10 13:03 -0800
                Re: standard error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-10 15:41 -0800
                Re: standard error codes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-01-11 02:56 +0000
                Re: standard error codes supercat@casperkitty.com - 2017-01-11 07:42 -0800
                Re: standard error codes supercat@casperkitty.com - 2017-01-10 12:59 -0800
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-10 18:14 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-10 12:12 -0800
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-10 20:35 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-10 13:00 -0800
                Re: standard error codes supercat@casperkitty.com - 2017-01-11 08:16 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-11 18:25 +0000
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-11 19:09 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-11 12:03 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-11 20:10 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-11 12:19 -0800
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-11 20:31 +0000
                Re: standard error codes Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2017-01-11 15:32 -0500
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-11 20:48 +0000
                Re: standard error codes Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2017-01-11 15:58 -0500
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-11 13:01 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-11 21:05 +0000
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-11 21:08 +0000
                Re: standard error codes Gareth Owen <gwowen@gmail.com> - 2017-01-11 21:38 +0000
                Re: standard error codes BartC <bc@freeuk.com> - 2017-01-11 21:58 +0000
                Re: standard error codes David Brown <david.brown@hesbynett.no> - 2017-01-12 12:11 +0100
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-12 09:28 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-12 18:06 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-12 11:39 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-12 19:50 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-12 13:03 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-12 21:13 +0000
                Re: standard error codes <william@wilbur.25thandClement.com> - 2017-01-12 20:00 -0800
                Re: standard error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-13 01:56 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-13 12:54 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-13 09:35 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-13 17:38 +0000
                Re: standard error codes James Kuyper <jameskuyper@verizon.net> - 2017-01-13 13:06 -0500
                Re: standard error codes raltbos@xs4all.nl (Richard Bos) - 2017-01-18 12:00 +0000
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-18 12:13 +0000
                Re: standard error codes Malcolm McLean <malcolm.mclean5@btinternet.com> - 2017-01-12 16:43 -0800
                Re: standard error codes <william@wilbur.25thandClement.com> - 2017-01-12 19:34 -0800
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-13 09:27 -0800
                Re: standard error codes raltbos@xs4all.nl (Richard Bos) - 2017-01-12 19:33 +0000
                Re: standard error codes Keith Thompson <kst-u@mib.org> - 2017-01-12 12:10 -0800
                Re: standard error codes supercat@casperkitty.com - 2017-01-11 11:50 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-11 20:38 +0000
                Re: standard error codes jadill33@gmail.com - 2017-01-11 12:26 -0800
                Re: standard error codes Richard Heathfield <rjh@cpax.org.uk> - 2017-01-11 20:44 +0000
      Re: standard  error codes Keith Thompson <kst-u@mib.org> - 2017-01-09 09:03 -0800
  Re: standard  error codes supercat@casperkitty.com - 2017-01-08 11:40 -0800

csiph-web