Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 28491 Details for
Bug 46444
irssi with admin (!) support
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
the admin support patch
irssi-0.8.9_add_admin_support.patch (text/plain), 20.32 KB, created by
Vince Castellano
on 2004-03-31 22:03:24 UTC
(
hide
)
Description:
the admin support patch
Filename:
MIME Type:
Creator:
Vince Castellano
Created:
2004-03-31 22:03:24 UTC
Size:
20.32 KB
patch
obsolete
>diff -Naur irssi-0.8.9/default.theme irssi-0.8.9.admin/default.theme >--- irssi-0.8.9/default.theme 2002-12-23 10:10:02.000000000 +0000 >+++ irssi-0.8.9.admin/default.theme 2004-04-01 05:08:18.844124304 +0000 >@@ -222,6 +222,7 @@ > # /names list > names_prefix = ""; > names_nick = "[%_$0%_$1-] "; >+ names_nick_admin = "{names_nick $*}"; > names_nick_op = "{names_nick $*}"; > names_nick_halfop = "{names_nick $*}"; > names_nick_voice = "{names_nick $*}"; >diff -Naur irssi-0.8.9/src/core/channels.c irssi-0.8.9.admin/src/core/channels.c >--- irssi-0.8.9/src/core/channels.c 2002-12-01 16:30:02.000000000 +0000 >+++ irssi-0.8.9.admin/src/core/channels.c 2004-04-01 01:04:04.000000000 +0000 >@@ -222,10 +222,11 @@ > const char *flags = server->get_nick_flags(); > > return strchr(flags, flag) == NULL || >- (flag == flags[0] && nick->op) || >- (flag == flags[1] && (nick->voice || nick->halfop || >- nick->op)) || >- (flag == flags[2] && (nick->halfop || nick->op)); >+ (flag == flags[0] && nick->admin) || >+ (flag == flags[1] && (nick->op || nick->admin)) || >+ (flag == flags[2] && (nick->voice || nick->halfop || >+ nick->op || nick->admin)) || >+ (flag == flags[2] && (nick->halfop || nick->op || nick->admin)); > } > > /* Send the auto send command to channel */ >diff -Naur irssi-0.8.9/src/core/nick-rec.h irssi-0.8.9.admin/src/core/nick-rec.h >--- irssi-0.8.9/src/core/nick-rec.h 2002-01-15 14:07:19.000000000 +0000 >+++ irssi-0.8.9.admin/src/core/nick-rec.h 2004-03-31 05:06:44.000000000 +0000 >@@ -16,6 +16,7 @@ > > /* status in channel */ > unsigned int send_massjoin:1; /* Waiting to be sent in massjoin signal */ >+unsigned int admin:1; > unsigned int op:1; > unsigned int halfop:1; > unsigned int voice:1; >diff -Naur irssi-0.8.9/src/core/nicklist.c irssi-0.8.9.admin/src/core/nicklist.c >--- irssi-0.8.9/src/core/nicklist.c 2002-03-13 01:30:20.000000000 +0000 >+++ irssi-0.8.9.admin/src/core/nicklist.c 2004-03-31 05:40:56.000000000 +0000 >@@ -364,12 +364,14 @@ > if (p1 == NULL) return -1; > if (p2 == NULL) return 1; > >- /* we assign each status (op, halfop, voice, normal) a number >+ /* we assign each status (admin, op, halfop, voice, normal) a number > * and compare them. this is easier than 100,000 if's and > * returns :-) > * -- yath */ > >- if (p1->op) >+ if (p1->admin) >+ status1 = 5; >+ else if (p1->op) > status1 = 4; > else if (p1->halfop) > status1 = 3; >@@ -378,7 +380,9 @@ > else > status1 = 1; > >- if (p2->op) >+ if (p2->admin) >+ status2 = 5; >+ else if (p2->op) > status2 = 4; > else if (p2->halfop) > status2 = 3; >diff -Naur irssi-0.8.9/src/core/server-rec.h irssi-0.8.9.admin/src/core/server-rec.h >--- irssi-0.8.9/src/core/server-rec.h 2002-02-03 21:53:37.000000000 +0000 >+++ irssi-0.8.9.admin/src/core/server-rec.h 2004-03-31 05:23:27.000000000 +0000 >@@ -52,11 +52,11 @@ > with commas. there can exist other information after first space like > channel keys etc. */ > void (*channels_join)(SERVER_REC *server, const char *data, int automatic); >-/* returns true if `flag' indicates a nick flag (op/voice/halfop) */ >+/* returns true if `flag' indicates a nick flag (admin/op/voice/halfop) */ > int (*isnickflag)(char flag); > /* returns true if `data' indicates a channel */ > int (*ischannel)(SERVER_REC *server, const char *data); >-/* returns all nick flag characters in order op, voice, halfop. If some >+/* returns all nick flag characters in order admin, op, voice, halfop. If some > of them aren't supported '\0' can be used. */ > const char *(*get_nick_flags)(void); > /* send public or private message to server */ >diff -Naur irssi-0.8.9/src/fe-common/core/fe-channels.c irssi-0.8.9.admin/src/fe-common/core/fe-channels.c >--- irssi-0.8.9/src/fe-common/core/fe-channels.c 2002-09-18 17:45:06.000000000 +0000 >+++ irssi-0.8.9.admin/src/fe-common/core/fe-channels.c 2004-03-31 06:27:53.000000000 +0000 >@@ -399,7 +399,9 @@ > for (tmp = nicklist; tmp != NULL; tmp = tmp->next) { > NICK_REC *rec = tmp->data; > >- if (rec->op) >+ if (rec->admin) >+ nickmode[0] = '!'; >+ else if (rec->op) > nickmode[0] = '@'; > else if (rec->halfop) > nickmode[0] = '%'; >@@ -416,7 +418,8 @@ > linebuf[columns[col]-item_extra] = '\0'; > memcpy(linebuf, rec->nick, strlen(rec->nick)); > >- formatnum = rec->op ? TXT_NAMES_NICK_OP : >+ formatnum = 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; >@@ -456,9 +459,9 @@ > { > NICK_REC *nick; > GSList *tmp, *nicklist, *sorted; >- int nicks, normal, voices, halfops, ops; >+ int nicks, normal, voices, halfops, ops, admins; > >- nicks = normal = voices = halfops = ops = 0; >+ admins = nicks = normal = voices = halfops = ops = 0; > nicklist = nicklist_getnicks(channel); > sorted = NULL; > >@@ -467,7 +470,11 @@ > nick = tmp->data; > > nicks++; >- if (nick->op) { >+ 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; >@@ -495,17 +502,17 @@ > printformat(channel->server, channel->visible_name, > MSGLEVEL_CLIENTCRAP, TXT_NAMES, > channel->visible_name, >- nicks, ops, halfops, voices, normal); >+ nicks, admins, ops, halfops, voices, normal); > display_sorted_nicks(channel, sorted); > } > g_slist_free(sorted); > > printformat(channel->server, channel->visible_name, > MSGLEVEL_CLIENTNOTICE, TXT_ENDOFNAMES, >- channel->visible_name, nicks, ops, halfops, voices, normal); >+ channel->visible_name, nicks, admins, ops, halfops, voices, normal); > } > >-/* SYNTAX: NAMES [-count | -ops -halfops -voices -normal] [<channels> | **] */ >+/* SYNTAX: NAMES [-count | -admins -ops -halfops -voices -normal] [<channels> | **] */ > static void cmd_names(const char *data, SERVER_REC *server, WI_ITEM_REC *item) > { > CHANNEL_REC *chanrec; >@@ -531,6 +538,8 @@ > } > > flags = 0; >+ if (g_hash_table_lookup(optlist, "admin") != 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) >@@ -629,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 admins ops halfops voices normal"); > command_set_options("join", "window"); > } > >diff -Naur irssi-0.8.9/src/fe-common/core/fe-channels.h irssi-0.8.9.admin/src/fe-common/core/fe-channels.h >--- irssi-0.8.9/src/fe-common/core/fe-channels.h 2001-07-14 18:19:22.000000000 +0000 >+++ irssi-0.8.9.admin/src/fe-common/core/fe-channels.h 2004-03-31 06:17:13.000000000 +0000 >@@ -1,6 +1,7 @@ > #ifndef __FE_CHANNELS_H > #define __FE_CHANNELS_H > >+#define CHANNEL_NICKLIST_FLAG_ADMINS 0x03 > #define CHANNEL_NICKLIST_FLAG_OPS 0x01 > #define CHANNEL_NICKLIST_FLAG_HALFOPS 0x02 > #define CHANNEL_NICKLIST_FLAG_VOICES 0x04 >diff -Naur irssi-0.8.9/src/fe-common/core/fe-messages.c irssi-0.8.9.admin/src/fe-common/core/fe-messages.c >--- irssi-0.8.9/src/fe-common/core/fe-messages.c 2003-10-11 00:30:03.000000000 +0000 >+++ irssi-0.8.9.admin/src/fe-common/core/fe-messages.c 2004-03-31 06:09:54.000000000 +0000 >@@ -123,6 +123,7 @@ > emptystr = settings_get_bool("show_nickmode_empty") ? " " : ""; > > return nickrec == NULL ? emptystr : >+ nickrec->admin ? "!" : > nickrec->op ? "@" : > nickrec->halfop ? "%" : > nickrec->voice ? "+" : >diff -Naur irssi-0.8.9/src/fe-common/core/module-formats.c irssi-0.8.9.admin/src/fe-common/core/module-formats.c >--- irssi-0.8.9/src/fe-common/core/module-formats.c 2002-12-28 18:00:03.000000000 +0000 >+++ irssi-0.8.9.admin/src/fe-common/core/module-formats.c 2004-04-01 01:56:21.000000000 +0000 >@@ -109,11 +109,12 @@ > { "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_op", "{names_nick_op $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} admins, {hilight $3} ops, {hilight $4} halfops, {hilight $5} voices, {hilight $6} normal}", 7, { 0, 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 -Naur irssi-0.8.9/src/fe-common/core/module-formats.h irssi-0.8.9.admin/src/fe-common/core/module-formats.h >--- irssi-0.8.9/src/fe-common/core/module-formats.h 2002-12-28 18:00:03.000000000 +0000 >+++ irssi-0.8.9.admin/src/fe-common/core/module-formats.h 2004-03-31 06:13:58.000000000 +0000 >@@ -85,6 +85,7 @@ > TXT_CURRENT_CHANNEL, > TXT_NAMES, > TXT_NAMES_PREFIX, >+ TXT_NAMES_NICK_ADMIN, > TXT_NAMES_NICK_OP, > TXT_NAMES_NICK_HALFOP, > TXT_NAMES_NICK_VOICE, >diff -Naur irssi-0.8.9/src/fe-common/irc/fe-netjoin.c irssi-0.8.9.admin/src/fe-common/irc/fe-netjoin.c >--- irssi-0.8.9/src/fe-common/irc/fe-netjoin.c 2003-11-23 12:43:13.000000000 +0000 >+++ irssi-0.8.9.admin/src/fe-common/irc/fe-netjoin.c 2004-04-01 04:58:48.748791968 +0000 >@@ -348,9 +348,9 @@ > } > > #define isnickmode(c) \ >- ((c) == 'o' || (c) == 'v' || (c) == 'h') >+ ((c) == 'a' || (c) == 'o' || (c) == 'v' || (c) == 'h') > #define nickmodechar(c) \ >- ((c) == 'o' ? '@' : ((c) == 'v' ? '+' : ((c) == 'h' ? '%' : '\0'))) >+ ((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 -Naur irssi-0.8.9/src/irc/core/irc-expandos.c irssi-0.8.9.admin/src/irc/core/irc-expandos.c >--- irssi-0.8.9/src/irc/core/irc-expandos.c 2002-06-10 21:00:07.000000000 +0000 >+++ irssi-0.8.9.admin/src/irc/core/irc-expandos.c 2004-03-31 04:52:39.000000000 +0000 >@@ -82,19 +82,20 @@ > return IS_IRC_SERVER(server) ? IRC_SERVER(server)->usermode : ""; > } > >-/* expands to your usermode on channel, op '@', halfop '%', "+" voice */ >+/* expands to your usermode on channel, admin '!', op '@', halfop '%', "+" voice */ > static char *expando_cumode(SERVER_REC *server, void *item, int *free_ret) > { > if (IS_IRC_CHANNEL(item) && CHANNEL(item)->ownnick) { >- return NICK(CHANNEL(item)->ownnick)->op ? "@" : >- NICK(CHANNEL(item)->ownnick)->halfop ? "%" : >- NICK(CHANNEL(item)->ownnick)->voice ? "+" : ""; >+ return NICK(CHANNEL(item)->ownnick)->admin ? "!" : >+ NICK(CHANNEL(item)->ownnick)->op ? "@" : >+ NICK(CHANNEL(item)->ownnick)->halfop ? "%" : >+ NICK(CHANNEL(item)->ownnick)->voice ? "+" : ""; > } > return ""; > } > > /* expands to your usermode on channel, >- op '@', halfop '%', "+" voice, " " normal */ >+ admin '!', op '@', halfop '%', "+" voice, " " normal */ > static char *expando_cumode_space(SERVER_REC *server, void *item, int *free_ret) > { > char *ret; >diff -Naur irssi-0.8.9/src/irc/core/irc-nicklist.c irssi-0.8.9.admin/src/irc/core/irc-nicklist.c >--- irssi-0.8.9/src/irc/core/irc-nicklist.c 2002-12-07 21:00:02.000000000 +0000 >+++ irssi-0.8.9.admin/src/irc/core/irc-nicklist.c 2004-03-31 05:17:32.000000000 +0000 >@@ -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 admin, int op, int halfop, int voice, int send_massjoin) > { > NICK_REC *rec; > >@@ -41,6 +41,7 @@ > rec = g_new0(NICK_REC, 1); > rec->nick = g_strdup(nick); > >+ if (admin) rec->admin = TRUE; > if (op) rec->op = TRUE; > if (halfop) rec->halfop = TRUE; > if (voice) rec->voice = TRUE; >@@ -78,7 +79,7 @@ > { > IRC_CHANNEL_REC *chanrec; > char *params, *type, *channel, *names, *ptr; >- int op, halfop, voice; >+ int admin, op, halfop, voice; > > g_return_if_fail(data != NULL); > >@@ -117,9 +118,12 @@ > 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; >+ admin = op = halfop = voice = FALSE; > while (isnickflag(*ptr)) { > switch (*ptr) { >+ case '!': >+ admin = TRUE; >+ break; > case '@': > op = TRUE; > break; >@@ -134,7 +138,7 @@ > } > > if (nicklist_find((CHANNEL_REC *) chanrec, ptr) == NULL) { >- irc_nicklist_insert(chanrec, ptr, op, halfop, >+ irc_nicklist_insert(chanrec, ptr, admin, op, halfop, > voice, FALSE); > } > } >@@ -161,7 +165,7 @@ > if channel is empty */ > nicks = g_hash_table_size(chanrec->nicks); > ownnick = irc_nicklist_insert(chanrec, server->nick, >- nicks == 0, FALSE, >+ nicks == 0, FALSE, FALSE, > FALSE, FALSE); > } > nicklist_set_own(CHANNEL(chanrec), ownnick); >@@ -378,7 +382,7 @@ > > static const char *get_nick_flags(void) > { >- return "@+%"; >+ return "!@+%"; > } > > static void sig_connected(IRC_SERVER_REC *server) >diff -Naur irssi-0.8.9/src/irc/core/irc-nicklist.h irssi-0.8.9.admin/src/irc/core/irc-nicklist.h >--- irssi-0.8.9/src/irc/core/irc-nicklist.h 2001-12-09 17:13:47.000000000 +0000 >+++ irssi-0.8.9.admin/src/irc/core/irc-nicklist.h 2004-03-31 04:42:15.000000000 +0000 >@@ -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 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 -Naur irssi-0.8.9/src/irc/core/irc-session.c irssi-0.8.9.admin/src/irc/core/irc-session.c >--- irssi-0.8.9/src/irc/core/irc-session.c 2002-02-16 10:41:32.000000000 +0000 >+++ irssi-0.8.9.admin/src/irc/core/irc-session.c 2004-03-31 04:54:56.000000000 +0000 >@@ -75,7 +75,7 @@ > CONFIG_NODE *node) > { > const char *nick; >- int op, halfop, voice; >+ int admin, op, halfop, voice; > NICK_REC *nickrec; > > if (!IS_IRC_CHANNEL(channel)) >@@ -85,10 +85,11 @@ > if (nick == NULL) > return; > >+ 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, admin, op, halfop, voice, FALSE); > } > > static void session_restore_channel(IRC_CHANNEL_REC *channel) >diff -Naur irssi-0.8.9/src/irc/core/massjoin.c irssi-0.8.9.admin/src/irc/core/massjoin.c >--- irssi-0.8.9/src/irc/core/massjoin.c 2002-08-27 13:00:07.000000000 +0000 >+++ irssi-0.8.9.admin/src/irc/core/massjoin.c 2004-03-31 04:57:24.000000000 +0000 >@@ -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, TRUE); > nicklist_set_host(CHANNEL(chanrec), nickrec, address); > > if (chanrec->massjoins == 0) { >diff -Naur irssi-0.8.9/src/irc/core/modes.c irssi-0.8.9.admin/src/irc/core/modes.c >--- irssi-0.8.9/src/irc/core/modes.c 2002-12-09 22:00:02.000000000 +0000 >+++ irssi-0.8.9.admin/src/irc/core/modes.c 2004-04-01 04:58:34.069023632 +0000 >@@ -43,6 +43,7 @@ > nickrec = nicklist_find(CHANNEL(channel), nick); > if (nickrec == NULL) return; /* No /names list got yet */ > >+ if (mode == '!') nickrec->admin = type == '+'; > if (mode == '@') nickrec->op = type == '+'; > if (mode == '+') nickrec->voice = type == '+'; > if (mode == '%') nickrec->halfop = type == '+'; >@@ -248,7 +249,9 @@ > case 'v': > nick_mode_change(channel, arg, '+', type, setby); > break; >- >+ case 'a': >+ nick_mode_change(channel, arg, '!', type, setby); >+ break; > case 'l': > mode_set_arg(newmode, type, 'l', arg); > channel->limit = type == '-' ? 0 : atoi(arg); >diff -Naur irssi-0.8.9/src/irc/core/modes.h irssi-0.8.9.admin/src/irc/core/modes.h >--- irssi-0.8.9/src/irc/core/modes.h 2002-08-27 19:45:07.000000000 +0000 >+++ irssi-0.8.9.admin/src/irc/core/modes.h 2004-03-31 04:32:58.000000000 +0000 >@@ -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) == 'f') >+ (mode) == 'O' || (mode) == 'k' || (mode) == 'f' || (mode) == 'a') > > /* modes that have argument when being set (+) */ > #define HAS_MODE_ARG_SET(mode) \ >diff -Naur irssi-0.8.9/src/irc/core/netsplit.c irssi-0.8.9.admin/src/irc/core/netsplit.c >--- irssi-0.8.9/src/irc/core/netsplit.c 2003-06-03 21:45:02.000000000 +0000 >+++ irssi-0.8.9.admin/src/irc/core/netsplit.c 2004-03-31 04:50:14.000000000 +0000 >@@ -132,6 +132,7 @@ > > splitchan = g_new0(NETSPLIT_CHAN_REC, 1); > splitchan->name = g_strdup(channel->visible_name); >+ splitchan->admin = nickrec->admin; > splitchan->op = nickrec->op; > splitchan->halfop = nickrec->halfop; > splitchan->voice = nickrec->voice; >diff -Naur irssi-0.8.9/src/irc/core/netsplit.h irssi-0.8.9.admin/src/irc/core/netsplit.h >--- irssi-0.8.9/src/irc/core/netsplit.h 2001-12-10 23:32:46.000000000 +0000 >+++ irssi-0.8.9.admin/src/irc/core/netsplit.h 2004-03-31 04:48:59.000000000 +0000 >@@ -25,6 +25,7 @@ > > typedef struct { > char *name; >+ unsigned int admin:1; > unsigned int op:1; > unsigned int halfop:1; > unsigned int voice:1; >diff -Naur irssi-0.8.9/src/irc/proxy/dump.c irssi-0.8.9.admin/src/irc/proxy/dump.c >--- irssi-0.8.9/src/irc/proxy/dump.c 2001-12-07 15:58:58.000000000 +0000 >+++ irssi-0.8.9.admin/src/irc/proxy/dump.c 2004-03-31 05:48:54.000000000 +0000 >@@ -177,7 +177,9 @@ > else > g_string_append_c(str, ' '); > >- if (nick->op) >+ 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 -Naur irssi-0.8.9/src/perl/irc/Channel.xs irssi-0.8.9.admin/src/perl/irc/Channel.xs >--- irssi-0.8.9/src/perl/irc/Channel.xs 2002-05-16 00:34:36.000000000 +0000 >+++ irssi-0.8.9.admin/src/perl/irc/Channel.xs 2004-03-31 06:11:59.000000000 +0000 >@@ -50,14 +50,15 @@ > } > > Irssi::Irc::Nick >-irc_nick_insert(channel, nick, op, halfop, voice, send_massjoin) >+irc_nick_insert(channel, nick, admin, op, halfop, voice, send_massjoin) > Irssi::Irc::Channel channel > char *nick >+ 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, admin, op, halfop, voice, send_massjoin); > OUTPUT: > RETVAL >diff -Naur irssi-0.8.9/src/perl/irc/Irc.xs irssi-0.8.9.admin/src/perl/irc/Irc.xs >--- irssi-0.8.9/src/perl/irc/Irc.xs 2003-12-10 23:00:03.000000000 +0000 >+++ irssi-0.8.9.admin/src/perl/irc/Irc.xs 2004-03-31 06:11:03.000000000 +0000 >@@ -119,6 +119,7 @@ > 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, "admin", 2, 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 -Naur irssi-0.8.9/src/perl/perl-common.c irssi-0.8.9.admin/src/perl/perl-common.c >--- irssi-0.8.9/src/perl/perl-common.c 2003-01-25 03:30:02.000000000 +0000 >+++ irssi-0.8.9.admin/src/perl/perl-common.c 2004-03-31 06:13:03.000000000 +0000 >@@ -433,6 +433,7 @@ > hv_store(hv, "gone", 4, newSViv(nick->gone), 0); > hv_store(hv, "serverop", 8, newSViv(nick->serverop), 0); > >+ hv_store(hv, "admin", 2, 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 46444
:
28490
| 28491