X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Firssi%2Fsrc%2Fperl%2Fui%2FFormats.xs;fp=apps%2Firssi%2Fsrc%2Fperl%2Fui%2FFormats.xs;h=0000000000000000000000000000000000000000;hb=72c2de619079457f7a68100eb13385275a424a23;hp=7ff31aac5868e6aafd20b41da60faa9d8ac2b150;hpb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;p=runtime.git diff --git a/apps/irssi/src/perl/ui/Formats.xs b/apps/irssi/src/perl/ui/Formats.xs deleted file mode 100644 index 7ff31aac..00000000 --- a/apps/irssi/src/perl/ui/Formats.xs +++ /dev/null @@ -1,136 +0,0 @@ -#include "module.h" - -static int magic_free_text_dest(pTHX_ SV *sv, MAGIC *mg) -{ - TEXT_DEST_REC *dest = (TEXT_DEST_REC *) mg->mg_ptr; - char *target = (char *) dest->target; - g_free(target); - g_free(dest); - mg->mg_ptr = NULL; - sv_setiv(sv, 0); - return 0; -} - -static MGVTBL vtbl_free_text_dest = -{ - NULL, NULL, NULL, NULL, magic_free_text_dest -}; - -static SV *perl_format_create_dest(SERVER_REC *server, char *target, - int level, WINDOW_REC *window) -{ - TEXT_DEST_REC *dest; - SV *sv, *ret_sv; - - dest = g_new0(TEXT_DEST_REC, 1); - format_create_dest(dest, server, g_strdup(target), level, window); - - ret_sv = plain_bless(dest, "Irssi::UI::TextDest"); - - sv = *hv_fetch(hvref(ret_sv), "_irssi", 6, 0); - sv_magic(sv, NULL, '~', NULL, 0); - - SvMAGIC(sv)->mg_private = 0x1551; /* HF */ - SvMAGIC(sv)->mg_virtual = &vtbl_free_text_dest; - SvMAGIC(sv)->mg_ptr = (char *) dest; - - return ret_sv; -} - -MODULE = Irssi::UI::Formats PACKAGE = Irssi -PROTOTYPES: ENABLE - -int -format_get_length(str) - char *str - -int -format_real_length(str, len) - char *str - int len - -void -strip_codes(input) - char *input -PREINIT: - char *ret; -PPCODE: - ret = strip_codes(input); - XPUSHs(sv_2mortal(new_pv(ret))); - g_free(ret); - - -void -format_create_dest(target, level=MSGLEVEL_CLIENTNOTICE, window=NULL) - char *target - int level - Irssi::UI::Window window -PPCODE: - XPUSHs(sv_2mortal(perl_format_create_dest(NULL, target, level, window))); - -#******************************* -MODULE = Irssi::UI::Formats PACKAGE = Irssi::UI::Window -#******************************* - -void -format_get_text(window, module, server, target, formatnum, ...) - Irssi::UI::Window window - char *module - Irssi::Server server - char *target - int formatnum -PREINIT: - TEXT_DEST_REC dest; - THEME_REC *theme; - char **charargs; - char *ret; - int n; -PPCODE: - charargs = g_new0(char *, items-5+1); - for (n = 5; n < items; n++) { - charargs[n-5] = (char *)SvPV(ST(n), PL_na); - } - - format_create_dest(&dest, server, target, 0, window); - theme = window_get_theme(dest.window); - - ret = format_get_text_theme_charargs(theme, module, &dest, formatnum, charargs); - g_free(charargs); - - XPUSHs(sv_2mortal(new_pv(ret))); - g_free_not_null(ret); - -#******************************* -MODULE = Irssi::UI::Formats PACKAGE = Irssi::Window -#******************************* - -void -format_create_dest(window=NULL, level=MSGLEVEL_CLIENTNOTICE) - Irssi::UI::Window window - int level -PPCODE: - XPUSHs(sv_2mortal(perl_format_create_dest(NULL, NULL, level, window))); - -#******************************* -MODULE = Irssi::UI::Formats PACKAGE = Irssi::Server -#******************************* - -void -format_create_dest(server, target=NULL, level=MSGLEVEL_CLIENTNOTICE, window=NULL) - Irssi::Server server - char *target - int level - Irssi::UI::Window window -PPCODE: - XPUSHs(sv_2mortal(perl_format_create_dest(server, target, level, window))); - -#******************************* -MODULE = Irssi::UI::Formats PACKAGE = Irssi::UI::TextDest -#******************************* - -void -print(dest, str) - Irssi::UI::TextDest dest - char *str -CODE: - printtext_dest(dest, "%s", str);