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


Groups > comp.lang.c > #126976

Re: C Construction Problem

From Tim Rentsch <txr@alumni.caltech.edu>
Newsgroups comp.lang.c
Subject Re: C Construction Problem
Date 2018-02-21 22:47 -0800
Organization A noiseless patient Spider
Message-ID <kfnd10xv7vc.fsf@x-alumni2.alumni.caltech.edu> (permalink)
References (2 earlier) <p6hi0911a6s@news1.newsguy.com> <87606r3867.fsf@bsb.me.uk> <p6hpgg0f33@news4.newsguy.com> <kfn7er6wcle.fsf@x-alumni2.alumni.caltech.edu> <ln4lmame6e.fsf@kst-u.example.com>

Show all headers | View raw


Keith Thompson <kst-u@mib.org> writes:

> Tim Rentsch <txr@alumni.caltech.edu> writes:
> [...]
>
>> (1) The code is compiled using gcc in its default mode.  Don't Do
>> That.  I recommend 'gcc -std=c99 -pedantic-errors', or similar.
>> I recommend against -std=c90 (or the various equivalents to
>> that).
>
> Why not -std=c11?

There's a big difference between C90 and C99, but not so much
between C99 and C11.  Unless there is a particular reason for
wanting to use C11, I think the more conservative choice is
better.  Looking over the list of major changes given in N1570,
I don't see any that add significant value for this program (or
even most other programs).  As I see it the question here is not
"why not C11?" but "what need is compelling enough to prompt a
change to C11?".  Until there is one, it's better to stay put.

>> (2) The code has a dozen or so functions defined with no return
>> type.  Don't Do That.  The main() functions should be int main(),
>> and there are two help() functions that should be void help().
>
> Better, they should be int main(void) and void help(void),
> respectively.  In particular, the latter lets the compiler diagnose
> incorrect calls to help() with extra arguments.

My comment was only about the return types.  I'm in the habit of
writing () after function names just to indicate they are
functions.  I deliberately left out the parameters for main(),
which the various main()'s in this code have.  I mentioned using
prototypes in another part of the posting.

>> (8) In a couple of places there were printf() conversions that
>> didn't match up with the argument types.  I think all of those
>> were the result of trying to print a pointer type as some integer
>> type.  I recommend using %p, or perhaps something else if %p
>> cannot be used for some reason.
>
> And if you use %p, you should cast the corresponding argument to void*.

BEEP!  Bad advice.  Casting should be avoided as much as possible
and this case is no exception.  To get a pointer into a suitable
type for %p, it should be converted, not cast:

    (void*){ some_pointer }

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


Thread

C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 13:51 +0000
  Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-20 14:42 +0000
    Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 15:06 +0000
      Re: C Construction Problem Manfred <noname@invalid.add> - 2018-02-20 18:07 +0100
  Re: C Construction Problem Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-20 14:54 +0000
  Re: C Construction Problem "James R. Kuyper" <jameskuyper@verizon.net> - 2018-02-20 10:06 -0500
    Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 16:11 +0000
  Re: C Construction Problem Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-20 15:08 +0000
    Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 16:22 +0000
      Re: C Construction Problem Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-20 17:03 +0000
        Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-20 09:23 -0800
        Re: C Construction Problem Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-20 11:11 -0700
        Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 18:30 +0000
          Re: C Construction Problem Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-20 23:37 +0000
            Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-21 00:45 +0000
              Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-21 01:46 +0000
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-21 08:49 +0100
                Re: C Construction Problem Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-21 09:29 +0000
                [OT] Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-21 11:24 +0000
                Re: [OT] Re: C Construction Problem Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-21 14:41 +0300
                Re: [OT] Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-21 15:10 +0100
                Re: [OT] Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-21 12:36 -0600
                Re: [OT] Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-21 21:04 +0000
                Re: [OT] Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-21 18:20 -0600
                Re: C Construction Problem Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-21 11:09 +0300
                Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-21 02:29 -0800
                Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-21 11:32 +0000
                Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-26 11:02 -0800
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-27 09:22 +0100
                Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-27 11:18 -0800
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-27 19:51 +0000
                Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-28 01:54 -0600
                Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-28 01:43 -0600
                Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-28 12:54 -0800
                Re: archive decompressor Noob <root@127.0.0.1> - 2018-03-04 12:34 +0100
              Re: C Construction Problem Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-21 11:04 +0300
                Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-21 11:27 +0000
                Re: C Construction Problem Anton Shepelev <anton.txt@gmail.com> - 2018-02-28 22:59 +0300
                Re: C Construction Problem supercat@casperkitty.com - 2018-02-21 08:49 -0800
            Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-26 11:08 -0800
              Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-26 23:51 +0000
                Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-27 11:24 -0800
          Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-21 08:07 -0800
            Re: C Construction Problem fr314159@gmail.com - 2018-02-21 09:16 -0800
              Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-21 21:26 -0800
            Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-21 09:43 -0800
              Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-21 22:47 -0800
                Re: C Construction Problem Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-22 13:09 +0000
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-24 13:37 -0800
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-22 10:50 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-24 13:58 -0800
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-24 15:05 -0800
                Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-25 03:21 -0800
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 11:51 +0000
                Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-25 04:06 -0800
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 12:47 +0000
                Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-25 13:20 +0000
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 17:46 +0000
                Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-25 18:58 +0000
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 20:01 +0000
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 20:25 +0000
                Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-26 02:49 -0800
                Re: C Construction Problem Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-25 20:02 +0000
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-25 15:13 -0800
                Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-25 11:50 -0600
                Re: C Construction Problem Ian Collins <ian-news@hotmail.com> - 2018-02-26 07:38 +1300
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-25 15:15 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-26 22:02 -0800
                Re: C Construction Problem jameskuyper@verizon.net - 2018-02-27 06:32 -0800
                Re: C Construction Problem GOTHIER Nathan <nathan.gothier@gmail.com> - 2018-02-27 16:56 +0100
                Re: C Construction Problem jameskuyper@verizon.net - 2018-02-27 08:27 -0800
                Re: C Construction Problem GOTHIER Nathan <nathan.gothier@gmail.com> - 2018-02-27 18:02 +0100
                Re: C Construction Problem jameskuyper@verizon.net - 2018-02-27 10:23 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-03 01:09 -0800
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-28 10:37 +0100
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-03 01:29 -0800
                Re: C Construction Problem Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-03 02:00 -0800
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-27 08:46 -0800
                Re: C Construction Problem jameskuyper@verizon.net - 2018-02-27 09:15 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-03 02:08 -0800
                Re: C Construction Problem Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-03 02:31 -0800
                Re: C Construction Problem Ian Collins <ian-news@hotmail.com> - 2018-03-04 10:34 +1300
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-19 10:27 -0700
                Re: C Construction Problem jameskuyper@verizon.net - 2018-03-03 21:35 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-17 10:29 -0700
                Re: C Construction Problem Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-18 08:14 -0700
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-25 21:49 +0100
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-25 15:09 -0800
                Re: C Construction Problem gazelle@shell.xmission.com (Kenny McCormack) - 2018-02-26 13:46 +0000
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-26 14:57 +0100
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-26 22:14 -0800
            Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-22 00:11 +0000
              Re: C Construction Problem Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-21 17:27 -0700
    Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-20 09:30 -0800
      Re: C Construction Problem Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-21 00:23 +0000
  Re: C Construction Problem Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-20 09:11 -0700
    Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 16:38 +0000
      Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-20 17:07 +0000
      Re: C Construction Problem John Bode <jfbode1029@gmail.com> - 2018-02-20 09:09 -0800
      Re: C Construction Problem "James R. Kuyper" <jameskuyper@verizon.net> - 2018-02-20 12:18 -0500
        Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-20 09:38 -0800
      Re: C Construction Problem Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-20 11:08 -0700
      Re: C Construction Problem Gordon Burditt <gordon@hammy.burditt.org> - 2018-02-20 21:47 -0600
        Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-21 09:36 -0800
          Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-26 11:21 -0800

csiph-web