Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 2458 Details for
Bug 5385
support for new irc modes in irssi
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
${FILESDIR}/irssi-0.8.5-euirc.patch
irssi-0.8.5-euirc.patch (text/plain), 21.81 KB, created by
Thomas Weidner
on 2002-07-22 07:22:26 UTC
(
hide
)
Description:
${FILESDIR}/irssi-0.8.5-euirc.patch
Filename:
MIME Type:
Creator:
Thomas Weidner
Created:
2002-07-22 07:22:26 UTC
Size:
21.81 KB
patch
obsolete
>diff -ru irssi-0.8.5/default.theme irssi-0.8.5-euirc/default.theme >--- irssi-0.8.5/default.theme 2002-03-10 16:10:02.000000000 +0100 >+++ irssi-0.8.5-euirc/default.theme 2002-07-22 14:12:23.000000000 +0200 >@@ -222,6 +222,8 @@ > # /names list > names_prefix = ""; > names_nick = "[%_$0%_$1-] "; >+ names_nick_founder = "{names_nick $*}"; >+ names_nick_admin = "{names_nick $*}"; > names_nick_op = "{names_nick $*}"; > names_nick_halfop = "{names_nick $*}"; > names_nick_voice = "{names_nick $*}"; >diff -ru irssi-0.8.5/src/core/channels.c irssi-0.8.5-euirc/src/core/channels.c >--- irssi-0.8.5/src/core/channels.c 2002-02-15 10:10:09.000000000 +0100 >+++ irssi-0.8.5-euirc/src/core/channels.c 2002-07-22 14:11:33.000000000 +0200 >@@ -188,10 +188,12 @@ > const char *flags = server->get_nick_flags(); > > return strchr(flags, flag) == NULL || >- (flag == flags[0] && nick->op) || >+ (flag == flags[0] && (nick->op || nick->admin || nick->founder)) || > (flag == flags[1] && (nick->voice || nick->halfop || >- nick->op)) || >- (flag == flags[2] && (nick->halfop || nick->op)); >+ nick->op || nick->admin || nick->founder)) || >+ (flag == flags[2] && (nick->halfop || nick->op || nick->admin || nick->founder)) || >+ (flag == flags[3] && (nick->admin || nick->founder )) || >+ (flag == flags[4] && nick->founder); > } > > /* Send the auto send command to channel */ >diff -ru irssi-0.8.5/src/core/nicklist.c irssi-0.8.5-euirc/src/core/nicklist.c >--- irssi-0.8.5/src/core/nicklist.c 2002-03-13 02:37:03.000000000 +0100 >+++ irssi-0.8.5-euirc/src/core/nicklist.c 2002-07-22 14:11:33.000000000 +0200 >@@ -369,7 +369,11 @@ > * returns :-) > * -- yath */ > >- if (p1->op) >+ if (p1->founder) >+ status1 = 6; >+ else if (p1->admin) >+ status1 = 5; >+ else if (p1->op) > status1 = 4; > else if (p1->halfop) > status1 = 3; >@@ -378,7 +382,11 @@ > else > status1 = 1; > >- if (p2->op) >+ if (p2->founder) >+ status2 = 6; >+ else if (p2->admin) >+ status2 = 5; >+ else if (p2->op) > status2 = 4; > else if (p2->halfop) > status2 = 3; >diff -ru irssi-0.8.5/src/core/nick-rec.h irssi-0.8.5-euirc/src/core/nick-rec.h >--- irssi-0.8.5/src/core/nick-rec.h 2002-01-15 15:10:10.000000000 +0100 >+++ irssi-0.8.5-euirc/src/core/nick-rec.h 2002-07-22 14:11:33.000000000 +0200 >@@ -16,6 +16,8 @@ > > /* status in channel */ > unsigned int send_massjoin:1; /* Waiting to be sent in massjoin signal */ >+unsigned int founder:1; >+unsigned int admin:1; > unsigned int op:1; > unsigned int halfop:1; > unsigned int voice:1; >diff -ru irssi-0.8.5/src/fe-common/core/fe-channels.c irssi-0.8.5-euirc/src/fe-common/core/fe-channels.c >--- irssi-0.8.5/src/fe-common/core/fe-channels.c 2002-03-10 17:10:08.000000000 +0100 >+++ irssi-0.8.5-euirc/src/fe-common/core/fe-channels.c 2002-07-22 14:11:33.000000000 +0200 >@@ -397,7 +397,11 @@ > for (tmp = nicklist; tmp != NULL; tmp = tmp->next) { > NICK_REC *rec = tmp->data; > >- if (rec->op) >+ if (rec->founder) >+ nickmode[0] = '*'; >+ else if (rec->admin) >+ nickmode[0] = '!'; >+ else if (rec->op) > nickmode[0] = '@'; > else if (rec->halfop) > nickmode[0] = '%'; >@@ -414,7 +418,9 @@ > linebuf[columns[col]-item_extra] = '\0'; > memcpy(linebuf, rec->nick, strlen(rec->nick)); > >- formatnum = rec->op ? TXT_NAMES_NICK_OP : >+ formatnum = rec->founder ? TXT_NAMES_NICK_FOUNDER : >+ rec-> admin ? TXT_NAMES_NICK_ADMIN : >+ rec->op ? TXT_NAMES_NICK_OP : > rec->halfop ? TXT_NAMES_NICK_HALFOP : > rec->voice ? TXT_NAMES_NICK_VOICE : > TXT_NAMES_NICK; >@@ -453,9 +459,9 @@ > { > NICK_REC *nick; > GSList *tmp, *nicklist, *sorted; >- int nicks, normal, voices, halfops, ops; >+ int nicks, normal, voices, halfops, ops, founders, admins; > >- nicks = normal = voices = halfops = ops = 0; >+ nicks = normal = voices = halfops = ops = founders = admins = 0; > nicklist = nicklist_getnicks(channel); > sorted = NULL; > >@@ -464,7 +470,15 @@ > nick = tmp->data; > > nicks++; >- if (nick->op) { >+ if (nick->founder) { >+ founders++; >+ if ((flags & CHANNEL_NICKLIST_FLAG_FOUNDERS) == 0) >+ continue; >+ } else if (nick->admin) { >+ admins++; >+ if ((flags & CHANNEL_NICKLIST_FLAG_ADMINS) == 0) >+ continue; >+ } else if (nick->op) { > ops++; > if ((flags & CHANNEL_NICKLIST_FLAG_OPS) == 0) > continue; >@@ -490,14 +504,14 @@ > /* display the nicks */ > if ((flags & CHANNEL_NICKLIST_FLAG_COUNT) == 0) { > printformat(channel->server, channel->name, >- MSGLEVEL_CLIENTCRAP, TXT_NAMES, channel->name, nicks, ops, halfops, voices, normal); >+ MSGLEVEL_CLIENTCRAP, TXT_NAMES, channel->name, nicks, founders, admins, ops, halfops, voices, normal); > display_sorted_nicks(channel, sorted); > } > g_slist_free(sorted); > > printformat(channel->server, channel->name, > MSGLEVEL_CLIENTNOTICE, TXT_ENDOFNAMES, >- channel->name, nicks, ops, halfops, voices, normal); >+ channel->name, nicks, founders, admins, ops, halfops, voices, normal); > } > > /* SYNTAX: NAMES [-count | -ops -halfops -voices -normal] [<channels> | **] */ >@@ -526,6 +540,10 @@ > } > > flags = 0; >+ if (g_hash_table_lookup(optlist, "founders") != NULL) >+ flags |= CHANNEL_NICKLIST_FLAG_FOUNDERS; >+ if (g_hash_table_lookup(optlist, "admins") != NULL) >+ flags |= CHANNEL_NICKLIST_FLAG_ADMINS; > if (g_hash_table_lookup(optlist, "ops") != NULL) > flags |= CHANNEL_NICKLIST_FLAG_OPS; > if (g_hash_table_lookup(optlist, "halfops") != NULL) >@@ -620,7 +638,7 @@ > command_bind("cycle", NULL, (SIGNAL_FUNC) cmd_cycle); > > command_set_options("channel add", "auto noauto -bots -botcmd"); >- command_set_options("names", "count ops halfops voices normal"); >+ command_set_options("names", "count owners admins ops halfops voices normal"); > command_set_options("join", "window"); > } > >diff -ru irssi-0.8.5/src/fe-common/core/fe-channels.h irssi-0.8.5-euirc/src/fe-common/core/fe-channels.h >--- irssi-0.8.5/src/fe-common/core/fe-channels.h 2001-07-14 21:10:10.000000000 +0200 >+++ irssi-0.8.5-euirc/src/fe-common/core/fe-channels.h 2002-07-22 14:11:33.000000000 +0200 >@@ -5,8 +5,10 @@ > #define CHANNEL_NICKLIST_FLAG_HALFOPS 0x02 > #define CHANNEL_NICKLIST_FLAG_VOICES 0x04 > #define CHANNEL_NICKLIST_FLAG_NORMAL 0x08 >-#define CHANNEL_NICKLIST_FLAG_ALL 0x0f >-#define CHANNEL_NICKLIST_FLAG_COUNT 0x10 >+#define CHANNEL_NICKLIST_FLAG_FOUNDERS 0x10 >+#define CHANNEL_NICKLIST_FLAG_ADMINS 0x20 >+#define CHANNEL_NICKLIST_FLAG_ALL 0x3f >+#define CHANNEL_NICKLIST_FLAG_COUNT 0x40 > > void fe_channels_nicklist(CHANNEL_REC *channel, int flags); > >diff -ru irssi-0.8.5/src/fe-common/core/fe-messages.c irssi-0.8.5-euirc/src/fe-common/core/fe-messages.c >--- irssi-0.8.5/src/fe-common/core/fe-messages.c 2002-01-27 22:10:08.000000000 +0100 >+++ irssi-0.8.5-euirc/src/fe-common/core/fe-messages.c 2002-07-22 14:11:33.000000000 +0200 >@@ -123,6 +123,8 @@ > emptystr = settings_get_bool("show_nickmode_empty") ? " " : ""; > > return nickrec == NULL ? emptystr : >+ nickrec->founder ? "*" : >+ nickrec->admin ? "!" : > nickrec->op ? "@" : > nickrec->halfop ? "%" : > nickrec->voice ? "+" : >diff -ru irssi-0.8.5/src/fe-common/core/module-formats.c irssi-0.8.5-euirc/src/fe-common/core/module-formats.c >--- irssi-0.8.5/src/fe-common/core/module-formats.c 2002-02-15 09:10:09.000000000 +0100 >+++ irssi-0.8.5-euirc/src/fe-common/core/module-formats.c 2002-07-22 14:11:33.000000000 +0200 >@@ -109,11 +109,13 @@ > { "current_channel", "Current channel {channel $0}", 1, { 0 } }, > { "names", "{names_users Users {names_channel $0}}", 6, { 0, 1, 1, 1, 1, 1 } }, > { "names_prefix", "{names_prefix $0}", 1, { 0 } }, >+ { "names_nick_founder", "{names_nick_founder $0 $1}", 2, { 0, 0 } }, >+ { "names_nick_admin", "{names_nick_admin $0 $1}", 2, { 0, 0 } }, > { "names_nick_op", "{names_nick_op $0 $1}", 2, { 0, 0 } }, > { "names_nick_halfop", "{names_nick_halfop $0 $1}", 2, { 0, 0 } }, > { "names_nick_voice", "{names_nick_voice $0 $1}", 2, { 0, 0 } }, > { "names_nick", "{names_nick $0 $1}", 2, { 0, 0 } }, >- { "endofnames", "{channel $0}: Total of {hilight $1} nicks {comment {hilight $2} ops, {hilight $3} halfops, {hilight $4} voices, {hilight $5} normal}", 6, { 0, 1, 1, 1, 1, 1 } }, >+ { "endofnames", "{channel $0}: Total of {hilight $1} nicks {comment {hilight $2} owners, {hilight $3} admins, {hilight $4} ops, {hilight $5} halfops, {hilight $6} voices, {hilight $7} normal}", 8, { 0, 1, 1, 1, 1, 1, 1, 1 } }, > { "chanlist_header", "You are on the following channels:", 0 }, > { "chanlist_line", "{channel $[-10]0} %|+$1 ($2): $3", 4, { 0, 0, 0, 0 } }, > { "chansetup_not_found", "Channel {channel $0} not found", 2, { 0, 0 } }, >diff -ru irssi-0.8.5/src/fe-common/core/module-formats.h irssi-0.8.5-euirc/src/fe-common/core/module-formats.h >--- irssi-0.8.5/src/fe-common/core/module-formats.h 2002-02-10 16:10:11.000000000 +0100 >+++ irssi-0.8.5-euirc/src/fe-common/core/module-formats.h 2002-07-22 14:11:33.000000000 +0200 >@@ -85,6 +85,8 @@ > TXT_CURRENT_CHANNEL, > TXT_NAMES, > TXT_NAMES_PREFIX, >+ TXT_NAMES_NICK_FOUNDER, >+ TXT_NAMES_NICK_ADMIN, > TXT_NAMES_NICK_OP, > TXT_NAMES_NICK_HALFOP, > TXT_NAMES_NICK_VOICE, >diff -ru irssi-0.8.5/src/fe-common/irc/fe-netjoin.c irssi-0.8.5-euirc/src/fe-common/irc/fe-netjoin.c >--- irssi-0.8.5/src/fe-common/irc/fe-netjoin.c 2002-03-10 17:10:09.000000000 +0100 >+++ irssi-0.8.5-euirc/src/fe-common/irc/fe-netjoin.c 2002-07-22 14:11:33.000000000 +0200 >@@ -337,9 +337,9 @@ > } > > #define isnickmode(c) \ >- ((c) == 'o' || (c) == 'v' || (c) == 'h') >+ ((c) == 'q' || (c) == 'a' || (c) == 'o' || (c) == 'v' || (c) == 'h') > #define nickmodechar(c) \ >- ((c) == 'o' ? '@' : ((c) == 'v' ? '+' : ((c) == 'h' ? '%' : '\0'))) >+ ((c) == 'q' ? '*' : (c) == 'a' ? '!' : (c) == 'o' ? '@' : ((c) == 'v' ? '+' : ((c) == 'h' ? '%' : '\0'))) > > static void msg_mode(IRC_SERVER_REC *server, const char *channel, > const char *sender, const char *addr, const char *data) >diff -ru irssi-0.8.5/src/irc/core/irc-expandos.c irssi-0.8.5-euirc/src/irc/core/irc-expandos.c >--- irssi-0.8.5/src/irc/core/irc-expandos.c 2002-02-20 16:10:11.000000000 +0100 >+++ irssi-0.8.5-euirc/src/irc/core/irc-expandos.c 2002-07-22 14:11:33.000000000 +0200 >@@ -82,11 +82,13 @@ > return IS_IRC_SERVER(server) ? IRC_SERVER(server)->usermode : ""; > } > >-/* expands to your usermode on channel, op '@', halfop '%', "+" voice */ >+/* expands to your usermode on channel, op '@', halfop '%', "+" voice ,...*/ > static char *expando_cumode(SERVER_REC *server, void *item, int *free_ret) > { > if (IS_CHANNEL(item) && CHANNEL(item)->ownnick) { >- return NICK(CHANNEL(item)->ownnick)->op ? "@" : >+ return NICK(CHANNEL(item)->ownnick)->founder ? "*" : >+ NICK(CHANNEL(item)->ownnick)->admin ? "!" : >+ NICK(CHANNEL(item)->ownnick)->op ? "@" : > NICK(CHANNEL(item)->ownnick)->halfop ? "%" : > NICK(CHANNEL(item)->ownnick)->voice ? "+" : ""; > } >diff -ru irssi-0.8.5/src/irc/core/irc.h irssi-0.8.5-euirc/src/irc/core/irc.h >--- irssi-0.8.5/src/irc/core/irc.h 2002-03-10 17:10:11.000000000 +0100 >+++ irssi-0.8.5-euirc/src/irc/core/irc.h 2002-07-22 14:11:33.000000000 +0200 >@@ -21,7 +21,8 @@ > > #define isnickflag(a) \ > ((a) == '@' || (a) == '+' || (a) == '%' || /* op / voice */ \ >- (a) == '%' || (a) == '.') /* extensions: half-op / owner */ >+ (a) == '%' || (a) == '.' || /* extensions: half-op / owner */ \ >+ (a) == '*' || (a) == '!' ) /* more extensions: founder / admin */ > > #define ischannel(a) \ > ((a) == '#' || /* normal */ \ >diff -ru irssi-0.8.5/src/irc/core/irc-nicklist.c irssi-0.8.5-euirc/src/irc/core/irc-nicklist.c >--- irssi-0.8.5/src/irc/core/irc-nicklist.c 2002-03-10 17:10:11.000000000 +0100 >+++ irssi-0.8.5-euirc/src/irc/core/irc-nicklist.c 2002-07-22 14:11:33.000000000 +0200 >@@ -31,7 +31,7 @@ > > /* Add new nick to list */ > NICK_REC *irc_nicklist_insert(IRC_CHANNEL_REC *channel, const char *nick, >- int op, int halfop, int voice, int send_massjoin) >+ int founder, int admin, int op, int halfop, int voice, int send_massjoin) > { > NICK_REC *rec; > >@@ -41,6 +41,8 @@ > rec = g_new0(NICK_REC, 1); > rec->nick = g_strdup(nick); > >+ if (founder) rec->founder = TRUE; >+ if (admin) rec->admin = TRUE; > if (op) rec->op = TRUE; > if (halfop) rec->halfop = TRUE; > if (voice) rec->voice = TRUE; >@@ -78,7 +80,7 @@ > { > IRC_CHANNEL_REC *chanrec; > char *params, *type, *channel, *names, *ptr; >- int op, halfop, voice; >+ int founder, admin, op, halfop, voice; > > g_return_if_fail(data != NULL); > >@@ -117,9 +119,15 @@ > showing "@+nick" and since none of these chars are valid > nick chars, just check them until a non-nickflag char is > found. FIXME: we just ignore owner char now. */ >- op = halfop = voice = FALSE; >+ founder = admin = op = halfop = voice = FALSE; > while (isnickflag(*ptr)) { > switch (*ptr) { >+ case '*': >+ founder = TRUE; >+ break; >+ case '!': >+ admin = TRUE; >+ break; > case '@': > op = TRUE; > break; >@@ -133,7 +141,7 @@ > ptr++; > } > >- irc_nicklist_insert(chanrec, ptr, op, halfop, voice, FALSE); >+ irc_nicklist_insert(chanrec, ptr, founder, admin, op, halfop, voice, FALSE); > } > > g_free(params); >@@ -158,8 +166,8 @@ > if channel is empty */ > nicks = g_hash_table_size(chanrec->nicks); > ownnick = irc_nicklist_insert(chanrec, server->nick, >- nicks == 0, FALSE, >- FALSE, FALSE); >+ nicks == 0, FALSE, FALSE, >+ FALSE, FALSE, FALSE); > } > nicklist_set_own(CHANNEL(chanrec), ownnick); > chanrec->chanop = chanrec->ownnick->op; >@@ -375,7 +383,7 @@ > > static const char *get_nick_flags(void) > { >- return "@+%"; >+ return "@+%!*"; > } > > static void sig_connected(IRC_SERVER_REC *server) >diff -ru irssi-0.8.5/src/irc/core/irc-nicklist.h irssi-0.8.5-euirc/src/irc/core/irc-nicklist.h >--- irssi-0.8.5/src/irc/core/irc-nicklist.h 2001-12-09 19:10:10.000000000 +0100 >+++ irssi-0.8.5-euirc/src/irc/core/irc-nicklist.h 2002-07-22 14:11:33.000000000 +0200 >@@ -5,7 +5,7 @@ > > /* Add new nick to list */ > NICK_REC *irc_nicklist_insert(IRC_CHANNEL_REC *channel, const char *nick, >- int op, int halfop, int voice, int send_massjoin); >+ int founder, int admin, int op, int halfop, int voice, int send_massjoin); > > /* Remove all "extra" characters from `nick'. Like _nick_ -> nick */ > char *irc_nick_strip(const char *nick); >diff -ru irssi-0.8.5/src/irc/core/irc-session.c irssi-0.8.5-euirc/src/irc/core/irc-session.c >--- irssi-0.8.5/src/irc/core/irc-session.c 2002-02-16 12:10:12.000000000 +0100 >+++ irssi-0.8.5-euirc/src/irc/core/irc-session.c 2002-07-22 14:11:33.000000000 +0200 >@@ -75,7 +75,7 @@ > CONFIG_NODE *node) > { > const char *nick; >- int op, halfop, voice; >+ int founder, admin, op, halfop, voice; > NICK_REC *nickrec; > > if (!IS_IRC_CHANNEL(channel)) >@@ -85,10 +85,12 @@ > if (nick == NULL) > return; > >+ founder = config_node_get_bool(node, "founder", FALSE); >+ admin = config_node_get_bool(node, "admin", FALSE); > op = config_node_get_bool(node, "op", FALSE); > voice = config_node_get_bool(node, "voice", FALSE); > halfop = config_node_get_bool(node, "halfop", FALSE); >- nickrec = irc_nicklist_insert(channel, nick, op, halfop, voice, FALSE); >+ nickrec = irc_nicklist_insert(channel, nick, founder, admin, op, halfop, voice, FALSE); > } > > static void session_restore_channel(IRC_CHANNEL_REC *channel) >diff -ru irssi-0.8.5/src/irc/core/massjoin.c irssi-0.8.5-euirc/src/irc/core/massjoin.c >--- irssi-0.8.5/src/irc/core/massjoin.c 2001-12-22 04:10:10.000000000 +0100 >+++ irssi-0.8.5-euirc/src/irc/core/massjoin.c 2002-07-22 14:11:33.000000000 +0200 >@@ -65,7 +65,7 @@ > } > > /* add user to nicklist */ >- nickrec = irc_nicklist_insert(chanrec, nick, FALSE, FALSE, FALSE, TRUE); >+ nickrec = irc_nicklist_insert(chanrec, nick, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE); > nicklist_set_host(CHANNEL(chanrec), nickrec, address); > > if (chanrec->massjoins == 0) { >diff -ru irssi-0.8.5/src/irc/core/modes.c irssi-0.8.5-euirc/src/irc/core/modes.c >--- irssi-0.8.5/src/irc/core/modes.c 2002-03-11 06:10:10.000000000 +0100 >+++ irssi-0.8.5-euirc/src/irc/core/modes.c 2002-07-22 14:11:33.000000000 +0200 >@@ -42,6 +42,8 @@ > nickrec = nicklist_find(CHANNEL(channel), nick); > if (nickrec == NULL) return; /* No /names list got yet */ > >+ if (mode == '*') nickrec->founder = type == '+'; >+ if (mode == '!') nickrec->admin = type == '+'; > if (mode == '@') nickrec->op = type == '+'; > if (mode == '+') nickrec->voice = type == '+'; > if (mode == '%') nickrec->halfop = type == '+'; >@@ -232,6 +234,12 @@ > else > banlist_remove(channel, arg); > break; >+ case 'q': >+ nick_mode_change(channel, arg, '*', type); >+ break; >+ case 'a': >+ nick_mode_change(channel, arg, '!', type); >+ break; > case 'o': > case 'O': /* channel owner in !channels */ > if (g_strcasecmp(channel->server->nick, arg) == 0) >@@ -264,7 +272,6 @@ > break; > case 'e': > case 'I': >- case 'q': > /* Don't set it as channel mode */ > break; > >diff -ru irssi-0.8.5/src/irc/core/modes.h irssi-0.8.5-euirc/src/irc/core/modes.h >--- irssi-0.8.5/src/irc/core/modes.h 2001-12-17 21:10:10.000000000 +0100 >+++ irssi-0.8.5-euirc/src/irc/core/modes.h 2002-07-22 14:11:33.000000000 +0200 >@@ -5,7 +5,7 @@ > #define HAS_MODE_ARG_ALWAYS(mode) \ > ((mode) == 'b' || (mode) == 'e' || (mode) == 'I' || (mode) == 'q' || \ > (mode) == 'd' || (mode) == 'o' || (mode) == 'h' || (mode) == 'v' || \ >- (mode) == 'O' || (mode) == 'k') >+ (mode) == 'O' || (mode) == 'k' || (mode) == 'a') > > /* modes that have argument when being set (+) */ > #define HAS_MODE_ARG_SET(mode) \ >diff -ru irssi-0.8.5/src/irc/core/netsplit.c irssi-0.8.5-euirc/src/irc/core/netsplit.c >--- irssi-0.8.5/src/irc/core/netsplit.c 2002-02-13 16:10:12.000000000 +0100 >+++ irssi-0.8.5-euirc/src/irc/core/netsplit.c 2002-07-22 14:11:33.000000000 +0200 >@@ -137,6 +137,8 @@ > > splitchan = g_new0(NETSPLIT_CHAN_REC, 1); > splitchan->name = g_strdup(channel->name); >+ splitchan->founder = nickrec->founder; >+ splitchan->admin = nickrec->admin; > splitchan->op = nickrec->op; > splitchan->halfop = nickrec->halfop; > splitchan->voice = nickrec->voice; >diff -ru irssi-0.8.5/src/irc/core/netsplit.h irssi-0.8.5-euirc/src/irc/core/netsplit.h >--- irssi-0.8.5/src/irc/core/netsplit.h 2001-12-11 01:10:10.000000000 +0100 >+++ irssi-0.8.5-euirc/src/irc/core/netsplit.h 2002-07-22 14:11:33.000000000 +0200 >@@ -25,6 +25,8 @@ > > typedef struct { > char *name; >+ unsigned int founder:1; >+ unsigned int admin:1; > unsigned int op:1; > unsigned int halfop:1; > unsigned int voice:1; >diff -ru irssi-0.8.5/src/irc/proxy/dump.c irssi-0.8.5-euirc/src/irc/proxy/dump.c >--- irssi-0.8.5/src/irc/proxy/dump.c 2001-12-07 17:10:13.000000000 +0100 >+++ irssi-0.8.5-euirc/src/irc/proxy/dump.c 2002-07-22 14:11:33.000000000 +0200 >@@ -177,7 +177,11 @@ > else > g_string_append_c(str, ' '); > >- if (nick->op) >+ if (nick->founder) >+ g_string_append_c(str, '*'); >+ else if (nick->admin) >+ g_string_append_c(str, '!'); >+ else if (nick->op) > g_string_append_c(str, '@'); > else if (nick->halfop) > g_string_append_c(str, '%'); >diff -ru irssi-0.8.5/src/perl/irc/Channel.xs irssi-0.8.5-euirc/src/perl/irc/Channel.xs >--- irssi-0.8.5/src/perl/irc/Channel.xs 2001-12-09 19:10:13.000000000 +0100 >+++ irssi-0.8.5-euirc/src/perl/irc/Channel.xs 2002-07-22 14:11:33.000000000 +0200 >@@ -50,15 +50,17 @@ > } > > Irssi::Irc::Nick >-irc_nick_insert(channel, nick, op, halfop, voice, send_massjoin) >+irc_nick_insert(channel, nick, founder, admin, op, halfop, voice, send_massjoin) > Irssi::Irc::Channel channel > char *nick >+ int founder >+ int admin > int op > int halfop > int voice > int send_massjoin > CODE: >- RETVAL = irc_nicklist_insert(channel, nick, op, halfop, voice, send_massjoin); >+ RETVAL = irc_nicklist_insert(channel, nick, founder, admin, op, halfop, voice, send_massjoin); > OUTPUT: > RETVAL > >diff -ru irssi-0.8.5/src/perl/irc/Irc.xs irssi-0.8.5-euirc/src/perl/irc/Irc.xs >--- irssi-0.8.5/src/perl/irc/Irc.xs 2001-12-11 01:10:14.000000000 +0100 >+++ irssi-0.8.5-euirc/src/perl/irc/Irc.xs 2002-07-22 14:11:33.000000000 +0200 >@@ -119,6 +119,8 @@ > static void perl_netsplit_channel_fill_hash(HV *hv, NETSPLIT_CHAN_REC *rec) > { > hv_store(hv, "name", 4, new_pv(rec->name), 0); >+ hv_store(hv, "founder", 7, newSViv(rec->founder), 0); >+ hv_store(hv, "admin", 5, newSViv(rec->admin), 0); > hv_store(hv, "op", 2, newSViv(rec->op), 0); > hv_store(hv, "halfop", 6, newSViv(rec->halfop), 0); > hv_store(hv, "voice", 5, newSViv(rec->voice), 0); >diff -ru irssi-0.8.5/src/perl/perl-common.c irssi-0.8.5-euirc/src/perl/perl-common.c >--- irssi-0.8.5/src/perl/perl-common.c 2002-03-13 02:37:09.000000000 +0100 >+++ irssi-0.8.5-euirc/src/perl/perl-common.c 2002-07-22 14:11:33.000000000 +0200 >@@ -395,6 +395,8 @@ > hv_store(hv, "gone", 4, newSViv(nick->gone), 0); > hv_store(hv, "serverop", 8, newSViv(nick->serverop), 0); > >+ hv_store(hv, "founder", 7, newSViv(nick->founder), 0); >+ hv_store(hv, "admin", 5, newSViv(nick->admin), 0); > hv_store(hv, "op", 2, newSViv(nick->op), 0); > hv_store(hv, "halfop", 6, newSViv(nick->halfop), 0); > hv_store(hv, "voice", 5, newSViv(nick->voice), 0);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 5385
: 2458 |
2459