#!/usr/bin/perl
# -*- mode: perl; coding: utf-8 -*-
# keitairc
-# $Id: keitairc,v 1.70 2008-12-29 13:51:32 morimoto Exp $
+# $Id: keitairc,v 1.71 2008-12-30 02:27:32 morimoto Exp $
# $Source: /home/ishikawa/work/keitairc/tmp/keitairc/keitairc,v $
#
# Copyright (c) 2003-2008 Jun Morimoto <morimoto@mrmt.net>
$message = uri_unescape($message);
if(length($message)){
- my $jis = $message;
- Encode::from_to($jis, $cf->web_charset(), $cf->irc_charset());
- my $euc = Encode::decode($cf->web_charset(), $message);
- if($jis =~ s|^/||) {
- my ($params, $trailing) = split(/ :/, $jis, 2);
+ # ic_msg: message string in irc charset
+ my $ic_msg = $message;
+ Encode::from_to($ic_msg, $cf->web_charset(), $cf->irc_charset());
+ # pi_msg: message string in perl internal
+ my $pi_msg = Encode::decode($cf->web_charset(), $message);
+ if($ic_msg =~ s|^/||) {
+ my ($params, $trailing) = split(/ :/, $ic_msg, 2);
my @postcmd = split(/ /, $params);
push @postcmd, $trailing if defined $trailing;
# This parser may be incomplete.
$irc->yield(@postcmd);
} elsif(length($channel)){
if($ib->update_timestamp($timestamp)){
- $irc->yield(privmsg => $channel => $jis);
+ $irc->yield(privmsg => $channel => $ic_msg);
my $cid = $ib->name2cid($channel);
- $ib->add_message($cid, $euc, $cf->irc_nick());
+ $ib->add_message($cid, $pi_msg, $cf->irc_nick());
}
}
}