summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/perl/common/Core.xs24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/perl/common/Core.xs b/src/perl/common/Core.xs
index 036deb32..6e0503d1 100644
--- a/src/perl/common/Core.xs
+++ b/src/perl/common/Core.xs
@@ -402,28 +402,32 @@ OUTPUT:
MODULE = Irssi::Core PACKAGE = Irssi::Server
#*******************************
-char *
+void
parse_special(server, cmd, data="", flags=0)
Irssi::Server server
char *cmd
char *data
int flags
-CODE:
- RETVAL = parse_special_string(cmd, server, NULL, data, NULL, flags);
-OUTPUT:
- RETVAL
+PREINIT:
+ char *ret;
+PPCODE:
+ ret = parse_special_string(cmd, server, NULL, data, NULL, flags);
+ XPUSHs(sv_2mortal(new_pv(ret)));
+ g_free_not_null(ret);
#*******************************
MODULE = Irssi::Core PACKAGE = Irssi::Windowitem
#*******************************
-char *
+void
parse_special(item, cmd, data="", flags=0)
Irssi::Windowitem item
char *cmd
char *data
int flags
-CODE:
- RETVAL = parse_special_string(cmd, item->server, item, data, NULL, flags);
-OUTPUT:
- RETVAL
+PREINIT:
+ char *ret;
+PPCODE:
+ ret = parse_special_string(cmd, item->server, item, data, NULL, flags);
+ XPUSHs(sv_2mortal(new_pv(ret)));
+ g_free_not_null(ret);