diff --git a/docs/perl.txt b/docs/perl.txt index 21deb3a3..ad20dff9 100644 --- a/docs/perl.txt +++ b/docs/perl.txt @@ -485,6 +485,7 @@ Server->{} usermode_away - Are we marked as away? 1|0 away_reason - Away reason message banned - Were we banned from this server? 1|0 + lag - Current lag to server in milliseconds Server Connect::connect() @@ -601,8 +602,8 @@ Windowitem->{} name - Name of the item createtime - Time the window item was created - new_data - 0=no new data, 1=text, 2=msg, 3=highlighted text - last_color - Color of the last highlighted text + data_level - 0=no new data, 1=text, 2=msg, 3=highlighted text + hilight_color - Color of the last highlighted text *** Channels @@ -613,7 +614,9 @@ Channel->{} (..contains all the same data as Windowitem above..) - topic - Chanenl topic + topic - Channel topic + topic_by - Nick who set the topic + topic_time - Timestamp when the topic was set no_modes - Channel is modeless mode - Channel mode @@ -747,6 +750,10 @@ Server::masks_match(masks, nick, address) *** Rawlog +Rawlog->{} + logging - The rawlog is being written to file currently + nlines - Number of lines in rawlog + Rawlog rawlog_create() Create a new rawlog. @@ -754,6 +761,9 @@ rawlog_create() Rawlog::destroy() Destroy the rawlog. +Rawlog::get_lines() + Returns all lines in rawlog. + rawlog_set_size(lines) Set the default rawlog size for new rawlogs. @@ -780,6 +790,7 @@ Rawlog::redirect(str) Log->{} fname - Log file name + real_fname - The actual opened log file (after %d.%m.Y etc. are expanded) opened - Log file is open level - Log only these levels last - Timestamp when last message was written @@ -833,8 +844,8 @@ Ignore->{} pattern - Ignore text pattern level - Ignore level - except_level - Ignore exception levels + exception - This is an exception ignore regexp - Regexp pattern matching fullword - Pattern matches only full words diff --git a/src/perl/common/Rawlog.xs b/src/perl/common/Rawlog.xs index 08827f62..753c9ee7 100644 --- a/src/perl/common/Rawlog.xs +++ b/src/perl/common/Rawlog.xs @@ -11,6 +11,15 @@ rawlog_create() MODULE = Irssi PACKAGE = Irssi::Rawlog PREFIX = rawlog_ #******************************* +void rawlog_get_lines(rawlog) + Irssi::Rawlog rawlog +PREINIT: + GSList *tmp; +PPCODE: + for (tmp = rawlog->lines; tmp != NULL; tmp = tmp->next) { + XPUSHs(sv_2mortal(new_pv(tmp->data))); + } + void rawlog_destroy(rawlog) Irssi::Rawlog rawlog diff --git a/src/perl/perl-common.c b/src/perl/perl-common.c index 020cd65d..b004b9e6 100644 --- a/src/perl/perl-common.c +++ b/src/perl/perl-common.c @@ -294,7 +294,7 @@ void perl_nick_fill_hash(HV *hv, NICK_REC *nick) chat_type = (char *) chat_protocol_find_id(nick->chat_type)->name; hv_store(hv, "type", 4, new_pv(type), 0); - hv_store(hv, "last_check", 10, newSViv(nick->last_check), 0); + hv_store(hv, "chat_type", 9, new_pv(chat_type), 0); hv_store(hv, "nick", 4, new_pv(nick->nick), 0); hv_store(hv, "host", 4, new_pv(nick->host), 0); @@ -304,10 +304,12 @@ void perl_nick_fill_hash(HV *hv, NICK_REC *nick) hv_store(hv, "gone", 4, newSViv(nick->gone), 0); hv_store(hv, "serverop", 8, newSViv(nick->serverop), 0); - hv_store(hv, "send_massjoin", 13, newSViv(nick->send_massjoin), 0); hv_store(hv, "op", 2, newSViv(nick->op), 0); hv_store(hv, "halfop", 6, newSViv(nick->halfop), 0); hv_store(hv, "voice", 5, newSViv(nick->voice), 0); + + hv_store(hv, "last_check", 10, newSViv(nick->last_check), 0); + hv_store(hv, "send_massjoin", 13, newSViv(nick->send_massjoin), 0); } static void perl_command_fill_hash(HV *hv, COMMAND_REC *cmd) @@ -367,17 +369,8 @@ static void perl_log_item_fill_hash(HV *hv, LOG_ITEM_REC *item) static void perl_rawlog_fill_hash(HV *hv, RAWLOG_REC *rawlog) { - AV *av; - GSList *tmp; - hv_store(hv, "logging", 7, newSViv(rawlog->logging), 0); hv_store(hv, "nlines", 6, newSViv(rawlog->nlines), 0); - - av = newAV(); - for (tmp = rawlog->lines; tmp != NULL; tmp = tmp->next) { - av_push(av, new_pv(tmp->data)); - } - hv_store(hv, "lines", 5, newRV_noinc((SV*)av), 0); } static void perl_reconnect_fill_hash(HV *hv, RECONNECT_REC *reconnect)