$NetBSD: patch-ad,v 1.1 2007/03/17 13:47:08 rillig Exp $

The ?: operator returns an rvalue, not an lvalue.

--- src/irc_server.c.orig	2002-01-31 15:56:37.000000000 +0100
+++ src/irc_server.c	2007-03-17 14:43:55.000000000 +0100
@@ -700,7 +700,7 @@ static int _ircserver_gotmsg(struct ircp
               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 {
@@ -741,7 +741,7 @@ static int _ircserver_gotmsg(struct ircp
               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 {
