mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05: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:
parent
d0de9fe229
commit
740f041c26
@ -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)
|
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, "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, "orig_type", 9, new_pv(dcc_type2str(dcc->orig_type)), 0);
|
||||||
hv_store(hv, "created", 7, newSViv(dcc->created), 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, "mynick", 6, new_pv(dcc->mynick), 0);
|
||||||
hv_store(hv, "nick", 4, new_pv(dcc->nick), 0);
|
hv_store(hv, "nick", 4, new_pv(dcc->nick), 0);
|
||||||
|
|
||||||
stash = gv_stashpv("Irssi::Irc::Dcc::Chat", 0);
|
hv_store(hv, "chat", 4, dcc_bless(dcc->chat), 0);
|
||||||
hv_store(hv, "chat", 4, new_bless(dcc->chat, stash), 0);
|
|
||||||
hv_store(hv, "target", 6, new_pv(dcc->target), 0);
|
hv_store(hv, "target", 6, new_pv(dcc->target), 0);
|
||||||
hv_store(hv, "arg", 3, new_pv(dcc->arg), 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)
|
static void perl_netsplit_fill_hash(HV *hv, NETSPLIT_REC *netsplit)
|
||||||
{
|
{
|
||||||
AV *av;
|
AV *av;
|
||||||
HV *stash;
|
|
||||||
GSList *tmp;
|
GSList *tmp;
|
||||||
|
|
||||||
hv_store(hv, "nick", 4, new_pv(netsplit->nick), 0);
|
hv_store(hv, "nick", 4, new_pv(netsplit->nick), 0);
|
||||||
hv_store(hv, "address", 7, new_pv(netsplit->address), 0);
|
hv_store(hv, "address", 7, new_pv(netsplit->address), 0);
|
||||||
hv_store(hv, "destroy", 7, newSViv(netsplit->destroy), 0);
|
hv_store(hv, "destroy", 7, newSViv(netsplit->destroy), 0);
|
||||||
|
|
||||||
stash = gv_stashpv("Irssi::Irc::Netsplitserver", 0);
|
hv_store(hv, "server", 6,
|
||||||
hv_store(hv, "server", 6, new_bless(netsplit->server, stash), 0);
|
plain_bless(netsplit->server,
|
||||||
|
"Irssi::Irc::Netsplitserver"), 0);
|
||||||
|
|
||||||
stash = gv_stashpv("Irssi::Irc::Netsplitchannel", 0);
|
|
||||||
av = newAV();
|
av = newAV();
|
||||||
for (tmp = netsplit->channels; tmp != NULL; tmp = tmp->next) {
|
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);
|
hv_store(hv, "channels", 7, newRV_noinc((SV*)av), 0);
|
||||||
}
|
}
|
||||||
|
@ -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)
|
static void perl_log_fill_hash(HV *hv, LOG_REC *log)
|
||||||
{
|
{
|
||||||
HV *stash;
|
|
||||||
AV *av;
|
AV *av;
|
||||||
GSList *tmp;
|
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, "failed", 6, newSViv(log->failed), 0);
|
||||||
hv_store(hv, "temp", 4, newSViv(log->temp), 0);
|
hv_store(hv, "temp", 4, newSViv(log->temp), 0);
|
||||||
|
|
||||||
stash = gv_stashpv("Irssi::Logitem", 0);
|
|
||||||
av = newAV();
|
av = newAV();
|
||||||
for (tmp = log->items; tmp != NULL; tmp = tmp->next) {
|
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)
|
static void perl_log_item_fill_hash(HV *hv, LOG_ITEM_REC *item)
|
||||||
|
@ -5,9 +5,6 @@
|
|||||||
#define new_pv(a) \
|
#define new_pv(a) \
|
||||||
(newSVpv((a) == NULL ? "" : (a), (a) == NULL ? 0 : strlen(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) \
|
#define is_hvref(o) \
|
||||||
((o) && SvROK(o) && SvRV(o) && (SvTYPE(SvRV(o)) == SVt_PVHV))
|
((o) && SvROK(o) && SvRV(o) && (SvTYPE(SvRV(o)) == SVt_PVHV))
|
||||||
|
|
||||||
|
@ -30,8 +30,6 @@
|
|||||||
|
|
||||||
static void perl_process_fill_hash(HV *hv, PROCESS_REC *process)
|
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, "id", 2, newSViv(process->id), 0);
|
||||||
hv_store(hv, "name", 4, new_pv(process->name), 0);
|
hv_store(hv, "name", 4, new_pv(process->name), 0);
|
||||||
hv_store(hv, "args", 4, new_pv(process->args), 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, "pid", 3, newSViv(process->pid), 0);
|
||||||
hv_store(hv, "target", 6, new_pv(process->target), 0);
|
hv_store(hv, "target", 6, new_pv(process->target), 0);
|
||||||
if (process->target_win != NULL) {
|
if (process->target_win != NULL) {
|
||||||
stash = gv_stashpv("Irssi::Window", 0);
|
hv_store(hv, "target_win", 10,
|
||||||
hv_store(hv, "target_win", 10, sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(process->target_win))), stash), 0);
|
plain_bless(process->target_win, "Irssi::Window"), 0);
|
||||||
}
|
}
|
||||||
hv_store(hv, "shell", 5, newSViv(process->shell), 0);
|
hv_store(hv, "shell", 5, newSViv(process->shell), 0);
|
||||||
hv_store(hv, "notice", 6, newSViv(process->notice), 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)
|
static void perl_text_dest_fill_hash(HV *hv, TEXT_DEST_REC *dest)
|
||||||
{
|
{
|
||||||
HV *stash;
|
hv_store(hv, "window", 6, plain_bless(dest->window, "Irssi::Window"), 0);
|
||||||
|
|
||||||
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, "server", 6, irssi_bless(dest->server), 0);
|
hv_store(hv, "server", 6, irssi_bless(dest->server), 0);
|
||||||
hv_store(hv, "target", 6, new_pv(dest->target), 0);
|
hv_store(hv, "target", 6, new_pv(dest->target), 0);
|
||||||
hv_store(hv, "level", 5, newSViv(dest->level), 0);
|
hv_store(hv, "level", 5, newSViv(dest->level), 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user