diff options
author | TingPing <tngpng@gmail.com> | 2013-03-21 15:02:32 -0700 |
---|---|---|
committer | TingPing <tngpng@gmail.com> | 2013-03-21 15:02:32 -0700 |
commit | d37ef26104d3b302d983cf444595f8226e0bbb30 (patch) | |
tree | 41f38be53105089f26c84f619024618635af2205 /src/common/proto-irc.c | |
parent | c5404b8e25afdc30b5bcafdd2a21b169443e00cc (diff) | |
parent | ec576f315aacd314fd2688a553efb9a14761a2c5 (diff) |
Merge pull request #459 from RichardHitt/banlist1
Redesign the Ban List window. Closes #303, closes #342, closes #427
Diffstat (limited to 'src/common/proto-irc.c')
-rw-r--r-- | src/common/proto-irc.c | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/src/common/proto-irc.c b/src/common/proto-irc.c index 18015607..13147016 100644 --- a/src/common/proto-irc.c +++ b/src/common/proto-irc.c @@ -778,8 +778,18 @@ process_numeric (session * sess, int n, } break; + case 346: /* +I-list entry */ + if (!inbound_banlist (sess, atol (word[7]), word[4], word[5], word[6], 346)) + goto def; + break; + + case 347: /* end of invite list */ + if (!fe_ban_list_end (sess, 347)) + goto def; + break; + case 348: /* +e-list entry */ - if (!inbound_banlist (sess, atol (word[7]), word[4], word[5], word[6], TRUE)) + if (!inbound_banlist (sess, atol (word[7]), word[4], word[5], word[6], 348)) goto def; break; @@ -790,9 +800,8 @@ process_numeric (session * sess, int n, sess = serv->front_session; goto def; } - if (!fe_is_banwindow (sess)) + if (!fe_ban_list_end (sess, 349)) goto def; - fe_ban_list_end (sess, TRUE); break; case 353: /* NAMES */ @@ -806,7 +815,8 @@ process_numeric (session * sess, int n, break; case 367: /* banlist entry */ - inbound_banlist (sess, atol (word[7]), word[4], word[5], word[6], FALSE); + if (!inbound_banlist (sess, atol (word[7]), word[4], word[5], word[6], 367)) + goto def; break; case 368: @@ -816,9 +826,8 @@ process_numeric (session * sess, int n, sess = serv->front_session; goto def; } - if (!fe_is_banwindow (sess)) + if (!fe_ban_list_end (sess, 368)) goto def; - fe_ban_list_end (sess, FALSE); break; case 369: /* WHOWAS end */ @@ -881,6 +890,18 @@ process_numeric (session * sess, int n, notify_set_online (serv, word[4]); break; + case 728: /* +q-list entry */ + /* NOTE: FREENODE returns these results inconsistent with e.g. +b */ + /* Who else has imlemented MODE_QUIET, I wonder? */ + if (!inbound_banlist (sess, atol (word[8]), word[4], word[6], word[7], 728)) + goto def; + break; + + case 729: /* end of quiet list */ + if (!fe_ban_list_end (sess, 729)) + goto def; + break; + case 903: /* successful SASL auth */ case 904: /* aborted SASL auth */ case 905: /* failed SASL auth */ |