Merges from Irssi CVS.
[runtime.git] / apps / irssi / src / perl / ui / Formats.xs
1 #include "module.h"
2
3 MODULE = Irssi::UI::Formats  PACKAGE = Irssi::UI::Window
4 PROTOTYPES: ENABLE
5
6 void
7 format_get_text(window, module, server, target, formatnum, ...)
8         Irssi::UI::Window window
9         char *module
10         Irssi::Server server
11         char *target
12         int formatnum
13 PREINIT:
14         TEXT_DEST_REC dest;
15         THEME_REC *theme;
16         char **charargs;
17         char *ret;
18         int n;
19 PPCODE:
20         charargs = g_new0(char *, items-5+1);
21         for (n = 5; n < items; n++) {
22                 charargs[n-5] = (char *)SvPV(ST(n), PL_na);
23         }
24
25         format_create_dest(&dest, server, target, 0, window);
26         theme = window_get_theme(dest.window);
27
28         ret = format_get_text_theme_charargs(theme, module, &dest, formatnum, charargs);
29         g_free(charargs);
30
31         XPUSHs(sv_2mortal(new_pv(ret)));
32         g_free_not_null(ret);