From: morimoto Date: Mon, 25 Feb 2008 15:46:31 +0000 (+0000) Subject: fixed channel name flaw X-Git-Tag: tag20080719~57 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=1a1ade9cd7bb372ab06c2b23726d5753e15a5adb;p=keitairc%2Fkeitairc.git fixed channel name flaw --- diff --git a/lib/Keitairc/IrcBuffer.pm b/lib/Keitairc/IrcBuffer.pm index 439dc14..e0fed28 100644 --- a/lib/Keitairc/IrcBuffer.pm +++ b/lib/Keitairc/IrcBuffer.pm @@ -1,6 +1,6 @@ # -*-perl-*- # Keitairc::IrcBuffer -# $Id: IrcBuffer.pm,v 1.8 2008-01-18 16:55:46 morimoto Exp $ +# $Id: IrcBuffer.pm,v 1.9 2008-02-25 15:46:31 morimoto Exp $ # $Source: /home/ishikawa/work/keitairc/tmp/keitairc/lib/Keitairc/IrcBuffer.pm,v $ # # Copyright (c) 2008 Jun Morimoto @@ -17,13 +17,11 @@ sub new{ my $arg = shift; my $me = {}; - $me->{cid2name} = {}; - $me->{name2cid} = {}; - $me->{history} = $arg->{history}; # join しているchannelの名称を記録するハッシュ (jis) - $me->{name} = {}; + $me->{cid2name} = {}; + $me->{name2cid} = {}; # join しているtopicの名称を記録するハッシュ (jis) $me->{topic} = {}; @@ -103,7 +101,12 @@ sub get_nick_op{ ################################################################ sub channels{ my $me = shift; - sort { $me->mtime($b) <=> $me->mtime($a) } keys %{$me->{cid2name}}; + map { + $_ + }(sort + { + $me->mtime($b) <=> $me->mtime($a) + } keys %{$me->{cid2name}}); } ################################################################ @@ -144,7 +147,7 @@ sub part{ sub join{ my ($me, $name) = @_; my $cid = $me->name2cid($name); - $me->{name}->{$cid} = $name; + $me->{cid2name}->{$cid} = $name; } ################################################################ @@ -154,12 +157,6 @@ sub mtime{ } ################################################################ -sub name{ - my($me, $cid) = @_; - $me->{name}->{$cid}; -} - -################################################################ sub message_added{ my($me, $v) = @_; if(defined $v){ @@ -251,7 +248,7 @@ sub add_message{ sub compact_channel_name{ my $me = shift; my $cid = shift; - my $name = $me->name($cid); + my $name = $me->cid2name($cid); $name = decode('jis', $name); diff --git a/lib/plugins/00all b/lib/plugins/00all index bd9a255..70ec57d 100644 --- a/lib/plugins/00all +++ b/lib/plugins/00all @@ -1,7 +1,7 @@ # -*-perl-*- # keitairc/lib/plugins/00all # ƒ`ƒƒƒlƒ‹‚Ì‘SƒƒbƒZ[ƒW‰{—— -# $Id: 00all,v 1.3 2008-01-14 05:21:09 morimoto Exp $ +# $Id: 00all,v 1.4 2008-02-25 15:46:31 morimoto Exp $ # $Source: /home/ishikawa/work/keitairc/tmp/keitairc/lib/plugins/00all,v $ $plugin = { @@ -14,7 +14,7 @@ $plugin = { ::send_message($request, $channel); my $buf; - if(defined($::ib->name($cid))){ + if(defined($::ib->cid2name($cid))){ if(length($::ib->buffer($cid))){ $buf = ::render_line($::ib->buffer($cid), $session_id); } diff --git a/lib/plugins/00recent b/lib/plugins/00recent index 605bf4f..8aefe7d 100644 --- a/lib/plugins/00recent +++ b/lib/plugins/00recent @@ -1,7 +1,7 @@ # -*-perl-*- # keitairc/lib/plugins/00recent # –¢“Ç”­Œ¾ˆê—— -# $Id: 00recent,v 1.3 2008-01-13 15:31:09 morimoto Exp $ +# $Id: 00recent,v 1.4 2008-02-25 15:46:31 morimoto Exp $ # $Source: /home/ishikawa/work/keitairc/tmp/keitairc/lib/plugins/00recent,v $ $plugin = { @@ -13,7 +13,7 @@ $plugin = { for my $cid ($::ib->channels()){ my $channel = $::ib->cid2name($cid); if($::ib->unread_lines($cid)){ - my $name = $::ib->name($cid); + my $name = $::ib->cid2name($cid); Encode::from_to($name, 'jis', 'shiftjis'); $buf .= $name; $buf .= sprintf(' ‘S”­Œ¾‚Ö
', $cid); diff --git a/lib/plugins/00unread b/lib/plugins/00unread index 3c58c15..06bc68a 100644 --- a/lib/plugins/00unread +++ b/lib/plugins/00unread @@ -1,7 +1,7 @@ # -*-perl-*- # keitairc/lib/plugins/00unread # ƒ`ƒƒƒlƒ‹‚Ì–¢“ǃƒbƒZ[ƒW‰{—— -# $Id: 00unread,v 1.3 2008-01-14 05:21:09 morimoto Exp $ +# $Id: 00unread,v 1.4 2008-02-25 15:46:31 morimoto Exp $ # $Source: /home/ishikawa/work/keitairc/tmp/keitairc/lib/plugins/00unread,v $ $plugin = { @@ -14,7 +14,7 @@ $plugin = { ::send_message($request, $channel); my $buf; - if(defined($::ib->name($cid))){ + if(defined($::ib->cid2name($cid))){ if(length($::ib->buffer($cid))){ $buf = ::render_line($::ib->unread($cid), $session_id); }