Channel mode handling changed - there's no more mode_xxx fields in

channel structure, but instead just one mode string field. Also
handling half-ops (+h) should work right.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@617 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2000-08-20 07:17:13 +00:00 committed by cras
commit 67cc9af1bd
15 changed files with 351 additions and 232 deletions

View file

@ -149,7 +149,6 @@ static void cmd_channel_list_joined(void)
CHANNEL_REC *channel;
GString *nicks;
GSList *nicklist, *tmp, *ntmp;
char *mode;
if (channels == NULL) {
printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, IRCTXT_NOT_IN_CHANNELS);
@ -167,7 +166,6 @@ static void cmd_channel_list_joined(void)
channel = tmp->data;
nicklist = nicklist_getnicks(channel);
mode = channel_get_mode(channel);
nicks = g_string_new(NULL);
for (ntmp = nicklist; ntmp != NULL; ntmp = ntmp->next) {
NICK_REC *rec = ntmp->data;
@ -177,9 +175,8 @@ static void cmd_channel_list_joined(void)
if (nicks->len > 1) g_string_truncate(nicks, nicks->len-1);
printformat(NULL, NULL, MSGLEVEL_CLIENTCRAP, IRCTXT_CHANLIST_LINE,
channel->name, mode, channel->server->tag, nicks->str);
channel->name, channel->mode, channel->server->tag, nicks->str);
g_free(mode);
g_slist_free(nicklist);
g_string_free(nicks, TRUE);
}

View file

@ -359,7 +359,7 @@ static void event_mode(const char *data, IRC_SERVER_REC *server,
show = TRUE;
nick++;
} else {
if (HAS_MODE_ARG(*mode) && *nick != NULL)
if (HAS_MODE_ARG(type, *mode) && *nick != NULL)
nick++;
show = TRUE;
}