Re: Fixing a sample from K&R book using cake static analyser

Liste des GroupesRevenir à l c 
Sujet : Re: Fixing a sample from K&R book using cake static analyser
De : ldo (at) *nospam* nz.invalid (Lawrence D'Oliveiro)
Groupes : comp.lang.c
Date : 23. Jun 2024, 01:30:23
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v57mqf$3vq0p$5@dont-email.me>
References : 1 2 3
User-Agent : Pan/0.158 (Avdiivka; )
On Sun, 23 Jun 2024 02:23:43 +0300, Anton Shepelev wrote:

Why are you so afraid of `goto' ...

Look up the concept of a “Nassi-Shneiderman diagram”. It allows arbitrary
nesting of complex code, with dynamic allocation going on, while
minimizing flow-control headaches. The example I posted was a simple one;
I have more complex ones if you want to see.

I think you forget to set np->name (and to free() it in
case of error).

Ah, didn’t notice that, since it was hidden in the middle of another line
of code. The fix is simple. And while I’m at it, it makes sense to factor
out the table entry disposal code into a separate routine.

    void np_free(struct nlist *np)
      {
        if (np != NULL)
          {
            free(np->name);
            free(np->defn);
          } /*if*/
        free(np);
      } /*np_free*/

    struct nlist *install(char *name, char *defn)
      {
        struct nlist *np = NULL;
        struct nlist *result = NULL;
        unsigned hashval;
        do /*once*/
          {
            result = lookup(name);
            if (result != NULL)
                break;
            np = (struct nlist *)calloc(1, sizeof struct nlist);
            if (np == NULL)
                break;
            np->name = strdup(name);
            if (np->name == NULL)
                break;
            np->defn = strdup(defn);
            if (np->defn == NULL)
                break;
            hashval = hash(name);
            np->next = hashtab[hashval];
            hashtab[hashval] = np;
            result = np;
            np = NULL; /* so I don’t dispose of it yet */
          }
        while (false);
        np_free(np);
        return
            result;
      } /*install*/


Date Sujet#  Auteur
21 Jun 24 * Fixing a sample from K&R book using cake static analyser83Thiago Adams
22 Jun 24 +* Re: Fixing a sample from K&R book using cake static analyser79Lawrence D'Oliveiro
22 Jun 24 i+- Re: Fixing a sample from K&R book using cake static analyser1Tim Rentsch
23 Jun 24 i+* Re: Fixing a sample from K&R book using cake static analyser13Anton Shepelev
23 Jun 24 ii+* Re: Fixing a sample from K&R book using cake static analyser5Lawrence D'Oliveiro
23 Jun 24 iii+* Re: Fixing a sample from K&R book using cake static analyser2bart
24 Jun 24 iiii`- Re: Fixing a sample from K&R book using cake static analyser1Lawrence D'Oliveiro
24 Jun 24 iii`* Re: Fixing a sample from K&R book using cake static analyser2Anton Shepelev
24 Jun 24 iii `- Re: Fixing a sample from K&R book using cake static analyser1Lawrence D'Oliveiro
23 Jun 24 ii`* Re: Fixing a sample from K&R book using cake static analyser7Ben Bacarisse
24 Jun 24 ii `* Re: Fixing a sample from K&R book using cake static analyser6Anton Shepelev
24 Jun 24 ii  `* Re: Fixing a sample from K&R book using cake static analyser5Ben Bacarisse
24 Jun 24 ii   +- Re: Fixing a sample from K&R book using cake static analyser1Lawrence D'Oliveiro
24 Jun 24 ii   +* Re: Fixing a sample from K&R book using cake static analyser2Janis Papanagnou
24 Jun 24 ii   i`- Re: Fixing a sample from K&R book using cake static analyser1Lawrence D'Oliveiro
24 Jun 24 ii   `- Re: Fixing a sample from K&R book using cake static analyser1Tim Rentsch
23 Jun 24 i`* Re: Fixing a sample from K&R book using cake static analyser64Kaz Kylheku
23 Jun 24 i +* Re: Fixing a sample from K&R book using cake static analyser57Ben Bacarisse
24 Jun 24 i i+* Re: Fixing a sample from K&R book using cake static analyser55Anton Shepelev
24 Jun 24 i ii+* Re: Fixing a sample from K&R book using cake static analyser3Lawrence D'Oliveiro
24 Jun 24 i iii`* Re: Fixing a sample from K&R book using cake static analyser2Anton Shepelev
24 Jun 24 i iii `- Re: Fixing a sample from K&R book using cake static analyser1Lawrence D'Oliveiro
24 Jun 24 i ii`* Re: Fixing a sample from K&R book using cake static analyser51Ben Bacarisse
24 Jun 24 i ii +* Re: Fixing a sample from K&R book using cake static analyser45Lawrence D'Oliveiro
24 Jun 24 i ii i+* Re: Fixing a sample from K&R book using cake static analyser4David Brown
25 Jun 24 i ii ii`* Re: Fixing a sample from K&R book using cake static analyser3Lawrence D'Oliveiro
25 Jun 24 i ii ii +- Re: Fixing a sample from K&R book using cake static analyser1David Brown
25 Jun 24 i ii ii `- Re: Fixing a sample from K&R book using cake static analyser1Kaz Kylheku
24 Jun 24 i ii i`* Re: Fixing a sample from K&R book using cake static analyser40Ben Bacarisse
25 Jun 24 i ii i `* Re: Fixing a sample from K&R book using cake static analyser39Lawrence D'Oliveiro
25 Jun 24 i ii i  +- Re: Fixing a sample from K&R book using cake static analyser1Ben Bacarisse
25 Jun 24 i ii i  `* Re: Fixing a sample from K&R book using cake static analyser37Kaz Kylheku
25 Jun 24 i ii i   `* Re: Fixing a sample from K&R book using cake static analyser36Ben Bacarisse
26 Jun 24 i ii i    `* Re: Fixing a sample from K&R book using cake static analyser35Chris M. Thomasson
26 Jun 24 i ii i     `* Re: Fixing a sample from K&R book using cake static analyser34Kaz Kylheku
26 Jun 24 i ii i      `* Re: Fixing a sample from K&R book using cake static analyser33Janis Papanagnou
26 Jun 24 i ii i       `* Re: Fixing a sample from K&R book using cake static analyser32Kaz Kylheku
26 Jun 24 i ii i        +- Re: Fixing a sample from K&R book using cake static analyser1DFS
26 Jun 24 i ii i        +* [OT] Re: Fixing a sample from K&R book using cake static analyser26Janis Papanagnou
26 Jun 24 i ii i        i+* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser4Michael S
26 Jun 24 i ii i        ii`* Re: [OT] Reinheitsgebot and Beer without C3Janis Papanagnou
26 Jun 24 i ii i        ii `* Re: [OT] Reinheitsgebot and Beer without C2Michael S
26 Jun 24 i ii i        ii  `- Re: [OT] Reinheitsgebot and Beer without C1Janis Papanagnou
26 Jun 24 i ii i        i+- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Michael S
26 Jun 24 i ii i        i+* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser11Janis Papanagnou
26 Jun 24 i ii i        ii+* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser9Chris M. Thomasson
26 Jun 24 i ii i        iii`* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser8Janis Papanagnou
27 Jun 24 i ii i        iii +* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser2Richard Harnden
27 Jun 24 i ii i        iii i`- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Janis Papanagnou
29 Jun 24 i ii i        iii `* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser5Chris M. Thomasson
29 Jun 24 i ii i        iii  `* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser4Janis Papanagnou
29 Jun 24 i ii i        iii   +* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser2Kenny McCormack
29 Jun 24 i ii i        iii   i`- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Chris M. Thomasson
29 Jun 24 i ii i        iii   `- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Michael S
27 Jun 24 i ii i        ii`- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Janis Papanagnou
28 Jun 24 i ii i        i`* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser9Phil Carmody
28 Jun 24 i ii i        i `* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser8Janis Papanagnou
28 Jun 24 i ii i        i  `* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser7Michael S
28 Jun 24 i ii i        i   `* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser6Janis Papanagnou
28 Jun 24 i ii i        i    +* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser3Tim Rentsch
28 Jun 24 i ii i        i    i`* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser2Janis Papanagnou
30 Jun 24 i ii i        i    i `- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Tim Rentsch
29 Jun 24 i ii i        i    `* Re: [OT] Re: Fixing a sample from K&R book using cake static analyser2Chris M. Thomasson
29 Jun 24 i ii i        i     `- Re: [OT] Re: Fixing a sample from K&R book using cake static analyser1Chris M. Thomasson
26 Jun 24 i ii i        `* Re: Fixing a sample from K&R book using cake static analyser4David Brown
27 Jun 24 i ii i         +- Re: Fixing a sample from K&R book using cake static analyser1Richard Harnden
27 Jun 24 i ii i         `* Re: Fixing a sample from K&R book using cake static analyser2Lawrence D'Oliveiro
27 Jun 24 i ii i          `- Re: Fixing a sample from K&R book using cake static analyser1Janis Papanagnou
24 Jun 24 i ii +- Re: Fixing a sample from K&R book using cake static analyser1Tim Rentsch
25 Jun 24 i ii `* Re: Fixing a sample from K&R book using cake static analyser4Phil Carmody
25 Jun 24 i ii  +- Re: Fixing a sample from K&R book using cake static analyser1Ben Bacarisse
26 Jun 24 i ii  `* Re: Fixing a sample from K&R book using cake static analyser2Lawrence D'Oliveiro
30 Jun 24 i ii   `- Re: Fixing a sample from K&R book using cake static analyser1Phil Carmody
24 Jun 24 i i`- Re: Fixing a sample from K&R book using cake static analyser1Kaz Kylheku
24 Jun 24 i `* Re: Fixing a sample from K&R book using cake static analyser6Anton Shepelev
24 Jun 24 i  `* Re: Fixing a sample from K&R book using cake static analyser5Kaz Kylheku
24 Jun 24 i   +* Re: Fixing a sample from K&R book using cake static analyser2Kaz Kylheku
24 Jun 24 i   i`- Re: Fixing a sample from K&R book using cake static analyser1Anton Shepelev
24 Jun 24 i   `* Re: Fixing a sample from K&R book using cake static analyser2Janis Papanagnou
24 Jun 24 i    `- Re: Fixing a sample from K&R book using cake static analyser1Kaz Kylheku
22 Jun 24 +- Re: Fixing a sample from K&R book using cake static analyser1Thiago Adams
29 Jun 24 `* Re: Fixing a sample from K&R book using cake static analyser2Lawrence D'Oliveiro
29 Jun 24  `- Re: Fixing a sample from K&R book using cake static analyser1Lawrence D'Oliveiro

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal