diff options
author | Timo Sirainen <cras@irssi.org> | 2001-12-06 17:17:40 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2001-12-06 17:17:40 +0000 |
commit | 31dcd8258f8f52c065e4297f7abecc5dd0a7d0a2 (patch) | |
tree | fc3cdc763159ad896422775addb1a763d53536ee /src/perl/perl-common.c | |
parent | 9dd46372ff722a54d70ae383b79542f6d3c60200 (diff) | |
download | irssi-31dcd8258f8f52c065e4297f7abecc5dd0a7d0a2.zip |
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
Diffstat (limited to 'src/perl/perl-common.c')
-rw-r--r-- | src/perl/perl-common.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/perl/perl-common.c b/src/perl/perl-common.c index 4187ae84..7000c4b1 100644 --- a/src/perl/perl-common.c +++ b/src/perl/perl-common.c @@ -74,6 +74,24 @@ char *perl_function_get_package(const char *function) return NULL; } +SV *perl_func_sv_inc(SV *func, const char *package) +{ + STRLEN n_a; + char *name; + + if (SvPOK(func)) { + /* prefix with package name */ + name = g_strdup_printf("%s::%s", package, + (char *) SvPV(func, n_a)); + func = new_pv(name); + g_free(name); + } else { + SvREFCNT_inc(func); + } + + return func; +} + SV *irssi_bless_iobject(int type, int chat_type, void *object) { PERL_OBJECT_REC *rec; |