#include "channels.h"
#include "queries.h"
#include "nicklist.h"
-#include "blob.h"
#include "perl-common.h"
return ret;
}
-void irssi_callXS(void (*subaddr)(CV* cv), CV *cv, SV **mark)
+void irssi_callXS(void (*subaddr)(pTHX_ CV* cv), CV *cv, SV **mark)
{
dSP;
PUSHMARK(mark);
- (*subaddr)(cv);
+ (*subaddr)(aTHX_ cv);
PUTBACK;
}
-static void perl_blob_fill_hash(HV *hv, BLOB_REC *blob)
-{
- hv_store(hv, "octets", 6, newSViv(blob->octets), 0);
- hv_store(hv, "data", 4, newSVpv(blob->data, blob->octets), 0);
-}
-
void perl_chatnet_fill_hash(HV *hv, CHATNET_REC *chatnet)
{
char *type, *chat_type;
if (item->server != NULL) {
hv_store(hv, "server", 6, iobject_bless(item->server), 0);
}
- hv_store(hv, "name", 4, new_pv(item->name), 0);
+ hv_store(hv, "visible_name", 12, new_pv(item->visible_name), 0);
hv_store(hv, "createtime", 10, newSViv(item->createtime), 0);
hv_store(hv, "data_level", 10, newSViv(item->data_level), 0);
if (channel->ownnick != NULL)
hv_store(hv, "ownnick", 7, iobject_bless(channel->ownnick), 0);
+ hv_store(hv, "name", 4, new_pv(channel->name), 0);
hv_store(hv, "topic", 5, new_pv(channel->topic), 0);
hv_store(hv, "topic_by", 8, new_pv(channel->topic_by), 0);
hv_store(hv, "topic_time", 10, newSViv(channel->topic_time), 0);
perl_window_item_fill_hash(hv, (WI_ITEM_REC *) query);
+ hv_store(hv, "name", 4, new_pv(query->name), 0);
hv_store(hv, "last_unread_msg", 15, newSViv(query->last_unread_msg), 0);
hv_store(hv, "address", 7, new_pv(query->address), 0);
hv_store(hv, "server_tag", 10, new_pv(query->server_tag), 0);
hv_store(hv, "mask", 4, new_pv(ignore->mask), 0);
hv_store(hv, "servertag", 9, new_pv(ignore->servertag), 0);
av = newAV();
- for (tmp = ignore->channels; *tmp != NULL; tmp++) {
- av_push(av, new_pv(*tmp));
+ if (ignore->channels != NULL) {
+ for (tmp = ignore->channels; *tmp != NULL; tmp++) {
+ av_push(av, new_pv(*tmp));
+ }
}
hv_store(hv, "channels", 8, newRV_noinc((SV*)av), 0);
hv_store(hv, "pattern", 7, new_pv(ignore->pattern), 0);
plain_stashes = g_hash_table_new((GHashFunc) g_str_hash,
(GCompareFunc) g_str_equal);
irssi_add_plains(core_plains);
- irssi_add_object(module_get_uniq_id("BLOB", 0), 0,
- "Irssi::Blob",
- (PERL_OBJECT_FUNC) perl_blob_fill_hash);
-
use_protocols = NULL;
g_slist_foreach(chat_protocols, (GFunc) perl_register_protocol, NULL);