diff -Naur dircproxy-1.1.0.orig/src/irc_server.c dircproxy-1.1.0/src/irc_server.c --- dircproxy-1.1.0.orig/src/irc_server.c 2006-10-29 11:16:22.000000000 -0500 +++ dircproxy-1.1.0/src/irc_server.c 2006-10-29 11:20:42.000000000 -0500 @@ -699,7 +699,8 @@ free(s); /* Was in the squelch list, so remove it and stop looking */ - s = (l ? l->next : p->squelch_modes) = n; + if (l) l->next = n; else p->squelch_modes = n; + s = n; squelch = 1; break; } else { @@ -740,7 +741,8 @@ free(s); /* Was in the squelch list, so remove it and stop looking */ - s = (l ? l->next : p->squelch_modes) = n; + if (l) l->next = n; else p->squelch_modes = n; + s = n; squelch = 1; break; } else { --- dircproxy-1.1.0-orig/src/dcc_net.c 2006-10-29 23:39:17.000000000 -0500 +++ dircproxy-1.1.0/src/dcc_net.c 2006-10-29 23:42:27.000000000 -0500 @@ -365,7 +365,8 @@ n = p->next; _dccnet_free(p); - p = (l ? l->next : proxies) = n; + if (l) l->next = n; else proxies = n; + p = n; } else { l = p; p = p->next; --- dircproxy-1.1.0-orig/src/net.c 2006-10-29 23:52:04.000000000 -0500 +++ dircproxy-1.1.0/src/net.c 2006-10-29 23:52:23.000000000 -0500 @@ -459,7 +459,7 @@ return 0; } - l = &(buff == SB_IN ? s->in_buff_last : s->out_buff_last); + if (buff == SB_IN) l = &(s->in_buff_last); else l = &(s->out_buff_last); /* Check whether we can just add to the existing buffer */ if ((mode == SM_RAW) && *l && ((*l)->mode == mode)) {