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


Groups > comp.lang.c > #12507

Re: the loop control

From jgk@panix.com (Joe keane)
Newsgroups comp.lang.c
Subject Re: the loop control
Date 2011-11-02 03:36 +0000
Organization Public Access Networks Corp.
Message-ID <j8qdsj$ime$1@reader1.panix.com> (permalink)
References <j8hrok$3cq$1@reader1.panix.com> <20111029175230.259@kylheku.com> <j8meed$p0j$1@reader1.panix.com> <878vo0kgzj.fsf@bazspaz.fatphil.org>

Show all headers | View raw


Joe writes this code:

    ...
    val = *frp++;
    HAIRY_MACRO(val, qux);
    ...

It works fine and everyone's happy.

Bob comes along and says 'maybe we don't need "val", maybe it is used
only once', and he finds that it is.

He makes this change:

    ...
    HAIRY_MACRO(*frp++, qux);
    ...

The change works fine, so no one notices.

Bob's like 'i'm a genius!'.

...

A year later, Jim is working on a big new project.

He changes:

    #define HAIRY_MACRO(X, Y) \
    (((X) & 0x8000) == 0 ? BIGMAC1(Y) : BIGMAC2(Y))

to:

    #define HAIRY_MACRO(X, Y) \
    (((X) & 0x8000) == 0 ? BIGMAC1(Y) : \
    ((X) & 0x4000) == 0 ? BIGMAC2(Y) : BIGMAC3(Y))

We know the second bit is never set in the old code, so the only
possible problem is a bug in BIGMAC3.

The new code works, mostly...  Worst yet, the old code works, mostly...
There is some glitch that no one can track down.

Jim invites his friends to look over the macros, and related functions,
but they find nothing wrong.

Jim spends a few hours debugging his favorite test program, trying to
pinpoint the problem.  Then he gets it.

Jim's like 'oh!  some a---hole put a postincrement in the macro
argument!  who does that?!'.

[OBTW Bob is no longer with the company]

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


Thread

the loop control jgk@panix.com (Joe keane) - 2011-10-29 21:38 +0000
  Re: the loop control Ian Collins <ian-news@hotmail.com> - 2011-10-30 10:48 +1300
  Re: the loop control Kaz Kylheku <kaz@kylheku.com> - 2011-10-29 22:10 +0000
    Re: the loop control jgk@panix.com (Joe keane) - 2011-10-31 15:21 +0000
      Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-10-31 11:35 -0400
        Re: the loop control jgharston <jgh@arcade.demon.co.uk> - 2011-10-31 10:27 -0700
          Re: the loop control Seebs <usenet-nospam@seebs.net> - 2011-10-31 18:36 +0000
          Re: the loop control Robert Wessel <robertwessel2@yahoo.com> - 2011-10-31 13:49 -0500
          Re: the loop control Sjouke Burry <s@b> - 2011-10-31 18:49 +0000
          Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-10-31 15:07 -0400
          Re: the loop control Keith Thompson <kst-u@mib.org> - 2011-10-31 13:56 -0700
      Re: the loop control Seebs <usenet-nospam@seebs.net> - 2011-10-31 17:18 +0000
        Re: the loop control Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-11-01 04:35 -0700
          Re: the loop control Seebs <usenet-nospam@seebs.net> - 2011-11-01 21:44 +0000
            Re: the loop control Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-11-02 01:16 -0700
      Re: the loop control Kaz Kylheku <kaz@kylheku.com> - 2011-10-31 19:23 +0000
        Re: the loop control jgk@panix.com (Joe keane) - 2011-11-02 04:47 +0000
      Re: the loop control Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-10-31 23:07 +0200
        Re: the loop control Ike Naar <ike@sverige.freeshell.org> - 2011-11-01 00:11 +0000
          Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-10-31 22:01 -0400
            Re: the loop control Kaz Kylheku <kaz@kylheku.com> - 2011-11-01 02:51 +0000
              Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-11-01 07:23 -0400
            Re: the loop control Ike Naar <ike@iceland.freeshell.org> - 2011-11-01 09:51 +0000
              Re: the loop control pete <pfiland@mindspring.com> - 2011-11-01 05:34 -0500
              Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-11-01 07:30 -0400
              Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-11-01 07:35 -0400
            Re: the loop control Hans Vlems <hvlems@freenet.de> - 2011-11-11 00:38 -0800
        Re: the loop control jgk@panix.com (Joe keane) - 2011-11-02 03:36 +0000
          Re: the loop control Ian Collins <ian-news@hotmail.com> - 2011-11-02 17:09 +1300
            Re: the loop control Keith Thompson <kst-u@mib.org> - 2011-11-02 03:56 -0700
      Re: the loop control Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-10-31 21:38 +0000
  Re: the loop control Acid Washed China Blue Jeans <chine.bleu@yahoo.com> - 2011-10-29 19:31 -0700
  Re: the loop control Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-10-29 23:11 -0600
  Re: the loop control "Philip Lantz" <prl@canterey.us> - 2011-10-29 22:47 -0700
    Re: the loop control jgk@panix.com (Joe keane) - 2011-10-31 16:36 +0000
      Re: the loop control Kaz Kylheku <kaz@kylheku.com> - 2011-10-31 19:30 +0000
        Re: the loop control blp@cs.stanford.edu (Ben Pfaff) - 2011-10-31 12:38 -0700
          Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-10-31 15:51 -0400
            Re: the loop control blp@cs.stanford.edu (Ben Pfaff) - 2011-10-31 13:06 -0700
            Re: the loop control Keith Thompson <kst-u@mib.org> - 2011-10-31 14:17 -0700
              Re: the loop control Seebs <usenet-nospam@seebs.net> - 2011-11-01 21:44 +0000
            Re: the loop control Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-10-31 23:30 +0200
        Re: the loop control jgk@panix.com (Joe keane) - 2011-11-03 21:29 +0000
          Re: the loop control James Kuyper <jameskuyper@verizon.net> - 2011-11-03 18:00 -0400
          Re: the loop control Kaz Kylheku <kaz@kylheku.com> - 2011-11-04 00:43 +0000
            Re: the loop control jgk@panix.com (Joe keane) - 2011-11-11 02:24 +0000
      Re: the loop control Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-10-31 23:20 +0200
      Re: the loop control pete <pfiland@mindspring.com> - 2011-10-31 18:01 -0500
        Re: the loop control Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-11-02 01:20 +0200
  Re: the loop control 88888 Dihedral <dihedral88888@googlemail.com> - 2011-11-02 01:25 -0700

csiph-web