Stephen Oberholtzer
bfa217b283
Fix segfault when 'script error' handlers fail
...
Add logic to detect errors in 'script error' handlers, and prevent
them from causing infinite recursion that crashes the entire program.
2017-03-03 19:55:18 -05:00
Tom Feist
9559a8ead9
Allow Irssi::signal_remove to work properly with coderefs
2016-07-12 12:42:15 +02:00
dequis
f14199d9c1
Change all strcmp() to g_strcmp0() to handle nulls gracefully
...
Just a string replacement (but i did check every one of them)
sed -i 's/strcmp(/g_strcmp0(/g' **/*.c
2015-04-07 22:41:05 -03:00
Michael Vetter
51239925ec
source cleanup: remove trailing whitespaces
2014-09-11 19:10:33 +02:00
Alexander Færøy
aaa0cb6e03
Merge pull request #52 from dgl/stack-cleanup
...
Correct use of perl stack macros
2014-06-29 14:27:12 +02:00
Alexander Færøy
b8c2915d79
Merge pull request #59 from ailin-nemui/perl-pl-na
...
get rid of PL_na
2014-06-27 14:31:04 +02:00
David Leadbeater
c5d81c598d
Correct use of perl stack macros
...
Further to pull #49 this is the result of an audit of the use of perl
stack macros. There were several cases where PUTBACK was being called
where the stack pointer could be out-of-date.
Also some misc. cleanup where the macros were used needlessly.
2014-06-27 11:20:48 +01:00
Ailin Nemui
f58a461c54
cleanup char* casts and replace one useless SvPV with SvPV_nolen
2014-06-25 03:17:03 +02:00
David Leadbeater
43df6e424e
Define PERL_NO_GET_CONTEXT in all perl source files
...
This removes the calls to Perl_get_context() that get automatically
added to XS code for ancient source code compatibility reasons.
The result is about a ~60K size reduction in the binary (based on
comparing two 64-bit stripped irssi binaries compiled
--with-perl-staticlib).
2014-06-24 20:20:27 +01:00
Lukas Mai
7dbb8efdde
get rid of PL_na
2014-06-24 16:45:55 +02:00
Emanuele Giaquinta
7982a86420
Fix undefined behavior due to modifying PL_na twice between sequence points.
...
Patch by Lukas Mai.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4960 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-12-09 18:16:49 +00:00
Emanuele Giaquinta
8c64738cdc
Add perl_signal_args_to_c() to convert signal parameters from Perl to C values,
...
and make Irssi::signal_emit/Irssi::signal_continue use it. Also make
perl_call_signal() turn NULLs into undef, so we can recover them in
perl_signal_args_to_c(), which is its inverse operation.
Patch by Lukas Mai.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4953 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-12-08 16:06:11 +00:00
Wouter Coekaerts
9c2d621cc6
Oops. Update address correctly now.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4490 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08 18:41:10 +00:00
Wouter Coekaerts
023026e12b
Update FSF address
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4489 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08 18:16:58 +00:00
Timo Sirainen
6230c055f2
Added Irssi::signal_register() to dynamically register new signals.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3045 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-12-04 22:17:07 +00:00
Timo Sirainen
c764853132
Cast pointers to IVs instead of using GPOINTER_TO_INT() which casts them to
...
ints. Hopefully fixes 64bit architectures.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2978 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-10-28 01:49:14 +00:00
Timo Sirainen
c7320514aa
fixes for new signaling code.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2691 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-04-16 18:11:06 +00:00
Timo Sirainen
8b9c4823bf
Rewritten signal handling code - it wasn't supposed to come before 0.9 irssi
...
but it doesn't break much things and is needed for Qt port :)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2682 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-04-15 13:59:09 +00:00
Timo Sirainen
7131ceb909
g_strdup() the error message before emitting "script error" signal, since
...
perl scripting might be executed during that signal and it clears the error
message.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2302 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-01-10 17:36:41 +00:00
Timo Sirainen
d723a5b64b
command_bind_first() and command_bind_last() didn't work properly.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2292 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-01-03 23:25:18 +00:00
Timo Sirainen
617123b5d4
I always forget Perl 5.004 doesn't have PL_na .. so, now I've declared for
...
5.004, and changed all STRLEN n_a code to use PL_na instead.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2238 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-12-11 16:44:53 +00:00
Timo Sirainen
31dcd8258f
Irssi::signal_add(), Irssi::timeout_add(), Irssi::input_add() and their
...
variants now also allow use of code references.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2199 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-12-06 17:17:40 +00:00
Timo Sirainen
6976bec3d9
Allow using Irssi::signal_add('command ...', ..) so irssi won't crash when
...
the script is unloaded.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2167 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-29 22:12:28 +00:00
Timo Sirainen
3819189ef4
Irssi::Irc::Dcc::* is now correctly blessed instead of using Irssi::Irc::Dcc
...
always. did s/irssi_bless/iobject_bless/, added simple_iobject_bless which
DCC uses.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2092 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-19 19:36:21 +00:00
Timo Sirainen
bdf5bf9785
Removed some unused code.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1910 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-10-24 22:18:39 +00:00
Timo Sirainen
8104317897
perl_signal_remove() didn't work.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1801 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-09-20 14:21:46 +00:00
Timo Sirainen
2aaed8dc0b
Irssi crashed if script died in a signal handler.
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1730 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-08-08 22:43:00 +00:00
Timo Sirainen
b80d4e62ab
/SCRIPT RESET didn't work properly (start/stop functions were called in
...
wrong order). Added a few extra deinits.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1712 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-08-07 15:25:41 +00:00
Timo Sirainen
82034efb11
Script name is printed now correctly if there's an error in
...
timeouts/signals.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1688 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-07-30 12:56:57 +00:00
Timo Sirainen
6c2f9c685a
--enable-perl* -> --with-perl*. Added a new libfe_perl which handles /SCRIPT
...
commands. /RUN -> /SCRIPT LOAD, /PERLFLUSH -> /SCRIPT FLUSH, /PERL ->
/SCRIPT EXEC. Added /SCRIPT UNLOAD, /SCRIPT LIST. Lots of cleanups.
filename_complete() has extra argument for "default directory" which is
searched if no path is given when completing.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1680 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-07-29 09:17:53 +00:00
Timo Sirainen
af86920d3f
bugfix
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1676 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-07-29 04:03:58 +00:00
Timo Sirainen
338e58cbad
Don't crash when trying to bless NULLs
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1645 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-07-24 22:21:48 +00:00
Timo Sirainen
0d3b5c729f
Added Irssi::command_bind_first() and Irssi::command_bind_last()
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1638 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-07-16 20:03:36 +00:00
Timo Sirainen
fdb57e148c
"complete word" signal works now with perl and it's possible to manipulate
...
the completion list.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1542 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-06-08 22:27:06 +00:00
Timo Sirainen
5f6d953602
Irssi::command_runsub() - patch by fuchs
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1519 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-05-30 08:58:48 +00:00
Timo Sirainen
21ce8803d6
some perl fixes. NICK_REC is also now "iobject"..
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1358 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-07 12:09:38 +00:00
Timo Sirainen
513e140bce
Irssi::command_bind(): Don't run the command twice. Log updated for
...
log_write_rec()
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1236 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-02-17 12:23:18 +00:00
Timo Sirainen
ebdaa110f1
bugfixes
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1101 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-01-10 21:12:39 +00:00
Timo Sirainen
14dbcd00bf
"return 1" doesn't anymore stop signals in perl scripts. Fixed
...
Irssi::signal_stop() to properly stop the signal from going to other
perl scripts.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1086 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-01-07 08:23:06 +00:00
Timo Sirainen
fe8710ac41
Unbinding commands didn't work properly
...
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1058 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-01-04 09:45:46 +00:00
Timo Sirainen
1e4c658a18
Removed the "signal" and "last signal" signals. Changed perl's
...
signaling system to work without them, it should now work faster and
better.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1053 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-01-03 07:34:12 +00:00