aboutsummaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
Diffstat (limited to 'patches')
-rw-r--r--patches/fix-cumode_space.patch32
-rw-r--r--patches/fix-signal-remove-coderef.patch22
-rw-r--r--patches/reduce-timeout-bound.diff24
-rw-r--r--patches/remove-timeout-bound.diff30
4 files changed, 108 insertions, 0 deletions
diff --git a/patches/fix-cumode_space.patch b/patches/fix-cumode_space.patch
new file mode 100644
index 0000000..9d1e728
--- /dev/null
+++ b/patches/fix-cumode_space.patch
@@ -0,0 +1,32 @@
+From 35ddd45044388fe1f26e95c43ca0d8bcf30462fe Mon Sep 17 00:00:00 2001
+From: Tom Feist <shabble@metavore.org>
+Date: Sat, 19 Mar 2011 08:09:37 +0000
+Subject: [PATCH] fix bug #795 by setting free_arg parameter correctly to false where the expando
+ expansion is a static string.
+
+---
+ src/irc/core/irc-expandos.c | 8 +++++++-
+ 1 files changed, 7 insertions(+), 1 deletions(-)
+
+diff --git a/src/irc/core/irc-expandos.c b/src/irc/core/irc-expandos.c
+index 0c0da64..df692cc 100644
+--- a/src/irc/core/irc-expandos.c
++++ b/src/irc/core/irc-expandos.c
+@@ -106,7 +106,13 @@ static char *expando_cumode_space(SERVER_REC *server, void *item, int *free_ret)
+ return "";
+
+ ret = expando_cumode(server, item, free_ret);
+- return *ret == '\0' ? " " : ret;
++
++ if (*ret == '\0') {
++ free_ret = FALSE;
++ return " ";
++ } else {
++ return ret;
++ }
+ }
+
+ static void event_join(IRC_SERVER_REC *server, const char *data,
+--
+1.7.4.1
+
diff --git a/patches/fix-signal-remove-coderef.patch b/patches/fix-signal-remove-coderef.patch
new file mode 100644
index 0000000..e2ecd19
--- /dev/null
+++ b/patches/fix-signal-remove-coderef.patch
@@ -0,0 +1,22 @@
+From f1f66db22e732ca3e5d920c64c8b904e2fb92762 Mon Sep 17 00:00:00 2001
+From: Tom Feist <shabble@metavore.org>
+Date: Fri, 8 Apr 2011 20:28:41 +0100
+Subject: [PATCH] bugfix: allow Irssi::signal_remove to work properly with coderefs
+
+
+diff --git a/src/perl/perl-signals.c b/src/perl/perl-signals.c
+index a455cfd..1652d09 100644
+--- a/src/perl/perl-signals.c
++++ b/src/perl/perl-signals.c
+@@ -434,8 +434,9 @@ static void perl_signal_remove_list_one(GSList **siglist, PERL_SIGNAL_REC *rec)
+ }
+
+ #define sv_func_cmp(f1, f2) \
+- (f1 == f2 || (SvPOK(f1) && SvPOK(f2) && \
+- strcmp((char *) SvPV_nolen(f1), (char *) SvPV_nolen(f2)) == 0))
++ ((SvROK(f1) && SvROK(f2) && SvRV(f1) == SvRV(f2)) || \
++ (SvPOK(f1) && SvPOK(f2) && \
++ strcmp((char *) SvPV_nolen(f1), (char *) SvPV_nolen(f2)) == 0))
+
+ static void perl_signal_remove_list(GSList **list, SV *func)
+ {
diff --git a/patches/reduce-timeout-bound.diff b/patches/reduce-timeout-bound.diff
new file mode 100644
index 0000000..4afc541
--- /dev/null
+++ b/patches/reduce-timeout-bound.diff
@@ -0,0 +1,24 @@
+--- a/src/perl/common/Core.xs
++++ b/src/perl/common/Core.xs
+@@ -237,8 +237,8 @@ timeout_add(msecs, func, data)
+ SV *func
+ SV *data
+ CODE:
+- if (msecs < 10) {
+- croak("Irssi::timeout() : msecs must be >= 10");
++ if (msecs < 1) {
++ croak("Irssi::timeout() : msecs must be >= 1");
+ RETVAL = -1;
+ } else {
+ RETVAL = perl_timeout_add(msecs, func, data, FALSE);
+@@ -252,8 +252,8 @@ timeout_add_once(msecs, func, data)
+ SV *func
+ SV *data
+ CODE:
+- if (msecs < 10) {
+- croak("Irssi::timeout_once() : msecs must be >= 10");
++ if (msecs < 1) {
++ croak("Irssi::timeout_once() : msecs must be >= 1");
+ RETVAL = -1;
+ } else {
+ RETVAL = perl_timeout_add(msecs, func, data, TRUE);
diff --git a/patches/remove-timeout-bound.diff b/patches/remove-timeout-bound.diff
new file mode 100644
index 0000000..df872a1
--- /dev/null
+++ b/patches/remove-timeout-bound.diff
@@ -0,0 +1,30 @@
+--- a/src/perl/common/Core.xs
++++ b/src/perl/common/Core.xs
+@@ -237,12 +237,7 @@ timeout_add(msecs, func, data)
+ SV *func
+ SV *data
+ CODE:
+- if (msecs < 10) {
+- croak("Irssi::timeout() : msecs must be >= 10");
+- RETVAL = -1;
+- } else {
+- RETVAL = perl_timeout_add(msecs, func, data, FALSE);
+- }
++ RETVAL = perl_timeout_add(msecs, func, data, FALSE);
+ OUTPUT:
+ RETVAL
+
+@@ -252,12 +247,7 @@ timeout_add_once(msecs, func, data)
+ SV *func
+ SV *data
+ CODE:
+- if (msecs < 10) {
+- croak("Irssi::timeout_once() : msecs must be >= 10");
+- RETVAL = -1;
+- } else {
+- RETVAL = perl_timeout_add(msecs, func, data, TRUE);
+- }
++ RETVAL = perl_timeout_add(msecs, func, data, TRUE);
+ OUTPUT:
+ RETVAL
+