Module: ngircd.git Branch: master Commit: cd38e9580e428103cef39e2e29f62472b2f336d3 URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=cd38e...
Author: Federico G. Schwindt fgsch@lodoss.net Date: Sun Aug 11 20:57:11 2013 +0100
Fix 2 bugs introduced in 74514b8c23
Channel_Modes() and Channel_Topic() return static memory that is zeroed at creation time. Fix checking for empty modes and topic so they're propagated correctly.
---
src/ngircd/irc-channel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/ngircd/irc-channel.c b/src/ngircd/irc-channel.c index 17ecbf9..0978a19 100644 --- a/src/ngircd/irc-channel.c +++ b/src/ngircd/irc-channel.c @@ -688,7 +688,7 @@ IRC_CHANINFO( CLIENT *Client, REQUEST *Req ) return CONNECTED;
if (Req->argv[1][0] == '+') { - if (!Channel_Modes(chan)) { + if (!*Channel_Modes(chan)) { /* OK, this channel doesn't have modes yet, * set the received ones: */ Channel_SetModes(chan, &Req->argv[1][1]); @@ -727,7 +727,7 @@ IRC_CHANINFO( CLIENT *Client, REQUEST *Req )
if (arg_topic > 0) { /* We got a topic */ - if (!Channel_Topic( chan ) && Req->argv[arg_topic][0]) { + if (!*Channel_Topic(chan) && Req->argv[arg_topic][0]) { /* OK, there is no topic jet */ Channel_SetTopic(chan, Client, Req->argv[arg_topic]); IRC_WriteStrChannelPrefix(Client, chan, from, false,
ngircd-commits@lists.barton.de