1
0
mirror of https://github.com/irssi/irssi.git synced 2024-10-27 05:20:20 -04:00
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2791 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2002-05-13 18:25:21 +00:00 committed by cras
parent a5f4fd43cc
commit b933f62111
6 changed files with 58 additions and 24 deletions

View File

@ -452,7 +452,7 @@ PREINIT:
char *ret;
PPCODE:
ret = bits2level(bits);
xPUSHs(sv_2mortal(new_pv(ret)));
XPUSHs(sv_2mortal(new_pv(ret)));
g_free(ret);
int

View File

@ -65,7 +65,7 @@ PREINIT:
char *ret;
PPCODE:
ret = dcc_get_download_path(fname);
xPUSHs(sv_2mortal(new_pv(ret)));
XPUSHs(sv_2mortal(new_pv(ret)));
g_free(ret);
#*******************************

View File

@ -12,7 +12,7 @@ PREINIT:
char *ret;
PPCODE:
ret = modes_join(old, mode, channel);
xPUSHs(sv_2mortal(new_pv(ret)));
XPUSHs(sv_2mortal(new_pv(ret)));
g_free(ret);
#*******************************
@ -28,7 +28,7 @@ PREINIT:
char *ret;
PPCODE:
ret = ban_get_mask(channel, nick, ban_type);
xPUSHs(sv_2mortal(new_pv(ret)));
XPUSHs(sv_2mortal(new_pv(ret)));
g_free(ret);
Irssi::Irc::Ban

View File

@ -52,7 +52,7 @@ PREINIT:
char *ret;
PPCODE:
ret = irc_server_get_channels(server);
xPUSHs(sv_2mortal(new_pv(ret)));
XPUSHs(sv_2mortal(new_pv(ret)));
g_free(ret);
void

View File

@ -14,7 +14,28 @@ static MGVTBL vtbl_free_text_dest =
NULL, NULL, NULL, NULL, magic_free_text_dest
};
MODULE = Irssi::UI::Formats PACKAGE = Irssi::UI::Window
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
@ -33,9 +54,22 @@ PREINIT:
char *ret;
PPCODE:
ret = strip_codes(input);
xPUSHs(sv_2mortal(new_pv(ret)));
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
@ -64,7 +98,20 @@ PPCODE:
XPUSHs(sv_2mortal(new_pv(ret)));
g_free_not_null(ret);
MODULE = Irssi::UI::Formats PACKAGE = Irssi
#*******************************
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)
@ -72,24 +119,12 @@ format_create_dest(server, target=NULL, level=MSGLEVEL_CLIENTNOTICE, window=NULL
char *target
int level
Irssi::UI::Window window
PREINIT:
TEXT_DEST_REC *dest;
SV *sv;
PPCODE:
dest = g_new0(TEXT_DEST_REC, 1);
format_create_dest(dest, server, g_strdup(target), level, window);
sv = plain_bless(dest, "Irssi::UI::TextDest");
XPUSHs(sv_2mortal(sv));
sv = *hv_fetch(hvref(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;
XPUSHs(sv_2mortal(perl_format_create_dest(server, target, level, window)));
#*******************************
MODULE = Irssi::UI::Formats PACKAGE = Irssi::UI::TextDest
#*******************************
void
print(dest, str)

View File

@ -232,7 +232,6 @@ theme_get_format(theme, module, tag)
PREINIT:
MODULE_THEME_REC *modtheme;
FORMAT_REC *formats;
char *ret;
int i;
CODE:
formats = g_hash_table_lookup(default_formats, module);