1
0
mirror of https://github.com/irssi/irssi.git synced 2024-07-07 02:54:19 -04:00

Perl blessing fixes.

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1566 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2001-06-26 17:01:42 +00:00 committed by cras
parent d0de9fe229
commit 740f041c26
4 changed files with 11 additions and 24 deletions

View File

@ -24,8 +24,6 @@ static void perl_ban_fill_hash(HV *hv, BAN_REC *ban)
static void perl_dcc_fill_hash(HV *hv, DCC_REC *dcc)
{
HV *stash;
hv_store(hv, "type", 4, new_pv(dcc_type2str(dcc->type)), 0);
hv_store(hv, "orig_type", 9, new_pv(dcc_type2str(dcc->orig_type)), 0);
hv_store(hv, "created", 7, newSViv(dcc->created), 0);
@ -35,8 +33,7 @@ static void perl_dcc_fill_hash(HV *hv, DCC_REC *dcc)
hv_store(hv, "mynick", 6, new_pv(dcc->mynick), 0);
hv_store(hv, "nick", 4, new_pv(dcc->nick), 0);
stash = gv_stashpv("Irssi::Irc::Dcc::Chat", 0);
hv_store(hv, "chat", 4, new_bless(dcc->chat, stash), 0);
hv_store(hv, "chat", 4, dcc_bless(dcc->chat), 0);
hv_store(hv, "target", 6, new_pv(dcc->target), 0);
hv_store(hv, "arg", 3, new_pv(dcc->arg), 0);
@ -77,20 +74,20 @@ static void perl_dcc_send_fill_hash(HV *hv, SEND_DCC_REC *dcc)
static void perl_netsplit_fill_hash(HV *hv, NETSPLIT_REC *netsplit)
{
AV *av;
HV *stash;
GSList *tmp;
hv_store(hv, "nick", 4, new_pv(netsplit->nick), 0);
hv_store(hv, "address", 7, new_pv(netsplit->address), 0);
hv_store(hv, "destroy", 7, newSViv(netsplit->destroy), 0);
stash = gv_stashpv("Irssi::Irc::Netsplitserver", 0);
hv_store(hv, "server", 6, new_bless(netsplit->server, stash), 0);
hv_store(hv, "server", 6,
plain_bless(netsplit->server,
"Irssi::Irc::Netsplitserver"), 0);
stash = gv_stashpv("Irssi::Irc::Netsplitchannel", 0);
av = newAV();
for (tmp = netsplit->channels; tmp != NULL; tmp = tmp->next) {
av_push(av, sv_2mortal(new_bless(tmp->data, stash)));
av_push(av, plain_bless(tmp->data,
"Irssi::Irc::Netsplitchannel"));
}
hv_store(hv, "channels", 7, newRV_noinc((SV*)av), 0);
}

View File

@ -336,7 +336,6 @@ static void perl_ignore_fill_hash(HV *hv, IGNORE_REC *ignore)
static void perl_log_fill_hash(HV *hv, LOG_REC *log)
{
HV *stash;
AV *av;
GSList *tmp;
@ -349,12 +348,11 @@ static void perl_log_fill_hash(HV *hv, LOG_REC *log)
hv_store(hv, "failed", 6, newSViv(log->failed), 0);
hv_store(hv, "temp", 4, newSViv(log->temp), 0);
stash = gv_stashpv("Irssi::Logitem", 0);
av = newAV();
for (tmp = log->items; tmp != NULL; tmp = tmp->next) {
av_push(av, sv_2mortal(new_bless(tmp->data, stash)));
av_push(av, plain_bless(tmp->data, "Irssi::Logitem"));
}
hv_store(hv, "items", 4, newRV_noinc((SV*)av), 0);
hv_store(hv, "items", 5, newRV_noinc((SV*)av), 0);
}
static void perl_log_item_fill_hash(HV *hv, LOG_ITEM_REC *item)

View File

@ -5,9 +5,6 @@
#define new_pv(a) \
(newSVpv((a) == NULL ? "" : (a), (a) == NULL ? 0 : strlen(a)))
#define new_bless(obj, stash) \
sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(obj))), stash)
#define is_hvref(o) \
((o) && SvROK(o) && SvRV(o) && (SvTYPE(SvRV(o)) == SVt_PVHV))

View File

@ -30,8 +30,6 @@
static void perl_process_fill_hash(HV *hv, PROCESS_REC *process)
{
HV *stash;
hv_store(hv, "id", 2, newSViv(process->id), 0);
hv_store(hv, "name", 4, new_pv(process->name), 0);
hv_store(hv, "args", 4, new_pv(process->args), 0);
@ -39,8 +37,8 @@ static void perl_process_fill_hash(HV *hv, PROCESS_REC *process)
hv_store(hv, "pid", 3, newSViv(process->pid), 0);
hv_store(hv, "target", 6, new_pv(process->target), 0);
if (process->target_win != NULL) {
stash = gv_stashpv("Irssi::Window", 0);
hv_store(hv, "target_win", 10, sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(process->target_win))), stash), 0);
hv_store(hv, "target_win", 10,
plain_bless(process->target_win, "Irssi::Window"), 0);
}
hv_store(hv, "shell", 5, newSViv(process->shell), 0);
hv_store(hv, "notice", 6, newSViv(process->notice), 0);
@ -66,10 +64,7 @@ static void perl_window_fill_hash(HV *hv, WINDOW_REC *window)
static void perl_text_dest_fill_hash(HV *hv, TEXT_DEST_REC *dest)
{
HV *stash;
stash = gv_stashpv("Irssi::Window", 0);
hv_store(hv, "window", 6, sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(dest->window))), stash), 0);
hv_store(hv, "window", 6, plain_bless(dest->window, "Irssi::Window"), 0);
hv_store(hv, "server", 6, irssi_bless(dest->server), 0);
hv_store(hv, "target", 6, new_pv(dest->target), 0);
hv_store(hv, "level", 5, newSViv(dest->level), 0);