1
0
mirror of https://github.com/irssi/irssi.git synced 2024-09-01 04:14:16 -04:00
Commit Graph

50 Commits

Author SHA1 Message Date
Ailin Nemui
ed23d89a5a fix recursive crash in Perl scripts 2021-08-13 17:32:09 +02:00
Ailin Nemui
425178e793 add GString to Perl 2021-08-13 17:31:49 +02:00
Ailin Nemui
c9ccf9867f Make a copy of the signal arguments so we don't have to worry about the stack
plug some mem leaks

later copy
2020-11-12 13:00:02 +01:00
Ailin Nemui
468d8b0c78 fix missing wrapping of line in signals 2020-07-23 00:52:55 +02:00
aquanight
26f3049a86 Refactor to pure refcount for PERL_SCRIPT_REC 2020-07-05 17:20:08 -06:00
aquanight
2d59df8162 Don't try to use the PERL_SIGNAL_REC after it could be freed 2020-07-05 16:09:19 -06:00
aquanight
7daeaa25b6 Fix wrong way on unloaded checks 2020-07-05 15:46:34 -06:00
aquanight
6012ec9e56 Prevent double calls of perl_script_unload 2020-07-05 15:31:07 -06:00
ailin-nemui
4330dbec62 add "print format" signal to perl
fix syntax in signals.txt with regards to GLists

simplify signal emit code
2020-05-13 00:22:38 +02:00
ailin-nemui
7e6e1f2e10 Use full paths to includes 2019-05-01 22:08:45 +02: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