$NetBSD: patch-ac,v 1.4 2006/06/30 15:53:18 tron Exp $

--- src/irc_server.c.orig	2006-02-18 22:39:32.000000000 +0000
+++ src/irc_server.c	2006-06-30 16:44:53.000000000 +0100
@@ -587,9 +587,10 @@
         ;
         if (strcmp(ss->str,s->str))  // this line is not already present
           ss->next = s;
-        else
+        else {
 	  free(s->str);
           free(s);
+        }
       } else {
         p->serversupported = s;
       }
@@ -788,7 +789,7 @@
               free(s);
 
               /* Was in the squelch list, so remove it and stop looking */
-              s = (l ? l->next : p->squelch_modes) = n;
+              s = *(l ? &l->next : &p->squelch_modes) = n;
               squelch = 1;
               break;
             } else {
@@ -817,7 +818,7 @@
         if (p->squelch_modes) {
           struct strlist *s, *l;
 
-          l = 0;
+          l = NULL;
           s = p->squelch_modes;
 
           while (s) {
@@ -829,7 +830,7 @@
               free(s);
 
               /* Was in the squelch list, so remove it and stop looking */
-              s = (l ? l->next : p->squelch_modes) = n;
+              s = *(l ? &l->next : &p->squelch_modes) = n;
               squelch = 1;
               break;
             } else {
