Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Aug 2004 12:50:38 -0400
From:      "Ralph Hempel" <rhempel@bmts.com>
To:        <freebsd-questions@freebsd.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   RE: One OR MORE of source and destination addresses?
Message-ID:  <CAEBIOGHPFFJALBLJBEDCEJDGJAA.rhempel@bmts.com>
In-Reply-To: <200408031633.I73GXIBP038908@asarian-host.net>

next in thread | previous in thread | raw e-mail | index | archive | help

> I just took a look at the code:
> 
>  if (q != NULL) { /* should never occur */
>   if (last_log != time_second) {
>    last_log = time_second;
>    printf("ipfw: install_state: entry already present, done\n");
>   }
>   return 0;
>  }
> 
> What if I just hack the "printf ..." line out of there? Would that 'solve'
> it? I know it's dirty; but would things still work?

I'll jump in here as a software manager and say NO!!!!!

Note, I have no idea if it will still work, but as a professional
programmer, the question raises a number of issues :-)

1. First of all, the original programmer took time to comment
   this line:

    if (q != NULL) { /* should never occur */

   OK. There's no indication WHY it should never occur, but still, the comment
   is there.

2. By adding this line: 

    if (last_log != time_second) {

   He's limiting the printed errors to one every second, so you
   are not beeing flooded with as many messages as are actually
   ocurring.

   Is last_log used anywhere else?

3. This line:

     return 0;

   will still return 0 if the error occurs, so the program will
   work the same with or without the diagnostic message.

I'd do some more digging and find out exactly WHY this is a "should never
occur case" to be sure that the log is not needed. If you don't print
the log, then why do the test, except to return 0 :-)

Ralph






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAEBIOGHPFFJALBLJBEDCEJDGJAA.rhempel>