- update user prefixes when modes change

- f mode does not have a prefix
This commit is contained in:
martynas 2009-07-26 15:39:52 +00:00
parent 5269b5f9da
commit dc920e6bde
3 changed files with 18 additions and 12 deletions

View File

@ -1,11 +1,11 @@
# $OpenBSD: Makefile,v 1.18 2009/05/31 22:54:13 martynas Exp $
# $OpenBSD: Makefile,v 1.19 2009/07/26 15:39:52 martynas Exp $
SHARED_ONLY= Yes
COMMENT= SILC plugin for irssi
DISTNAME= irssi-silc-1.1.7
PKGNAME= ${DISTNAME}p2
PKGNAME= ${DISTNAME}p3
CATEGORIES= net

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-apps_irssi_src_silc_core_client_ops_c,v 1.1 2009/07/26 15:39:52 martynas Exp $
--- apps/irssi/src/silc/core/client_ops.c.orig Sat May 23 03:11:25 2009
+++ apps/irssi/src/silc/core/client_ops.c Sun Jul 26 15:59:30 2009
@@ -1069,6 +1069,8 @@ void silc_notify(SilcClient client, SilcClientConnecti
nick = silc_nicklist_find(chanrec, client_entry2);
if (nick != NULL) {
+ strlcpy(nick->prefixes, (mode & SILC_CHANNEL_UMODE_CHANOP) ? "@" : "",
+ sizeof(nick->prefixes));
nick->op = (mode & SILC_CHANNEL_UMODE_CHANOP) != 0;
nick->founder = (mode & SILC_CHANNEL_UMODE_CHANFO) != 0;
signal_emit("nick mode changed", 2, chanrec, nick);

View File

@ -1,21 +1,15 @@
$OpenBSD: patch-apps_irssi_src_silc_core_silc-nicklist_c,v 1.1 2009/05/31 22:54:13 martynas Exp $
$OpenBSD: patch-apps_irssi_src_silc_core_silc-nicklist_c,v 1.2 2009/07/26 15:39:52 martynas Exp $
--- apps/irssi/src/silc/core/silc-nicklist.c.orig Sat May 23 03:11:25 2009
+++ apps/irssi/src/silc/core/silc-nicklist.c Mon Jun 1 00:48:28 2009
@@ -47,10 +47,15 @@ SILC_NICK_REC *silc_nicklist_insert(SILC_CHANNEL_REC *
+++ apps/irssi/src/silc/core/silc-nicklist.c Sun Jul 26 15:52:06 2009
@@ -47,8 +47,10 @@ SILC_NICK_REC *silc_nicklist_insert(SILC_CHANNEL_REC *
rec->silc_user = user;
rec->unique_id = user->client;
- if (user->mode & SILC_CHANNEL_UMODE_CHANOP)
+
+ if (user->mode & SILC_CHANNEL_UMODE_CHANOP) {
rec->op = TRUE;
- if (user->mode & SILC_CHANNEL_UMODE_CHANFO)
+ strlcpy(rec->prefixes, "@", sizeof(rec->prefixes));
+ }
+ if (user->mode & SILC_CHANNEL_UMODE_CHANFO) {
if (user->mode & SILC_CHANNEL_UMODE_CHANFO)
rec->founder = TRUE;
+ strlcpy(rec->prefixes, "@", sizeof(rec->prefixes));
+ }
rec->send_massjoin = send_massjoin;
nicklist_insert(CHANNEL(channel), (NICK_REC *) rec);