Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
mhonarc.pl
- From: t_sugihara@xxxxxxxxxxxxxxxxx
- Date: Fri, 22 Nov 2002 20:23:24 +0900 (JST)
- X-ml-name: namazu-devel-ja
- X-mail-count: 02706
http://www.namazu.org/ml/namazu-devel-ja/msg01988.html
で話題になった、mhonarcのアーカイブをindexする際の、
<TITLE>[hoge:00740] Re:
よろしくおねがいします
</TITLE>
の NMZ.field.subject が、
[hoge:00740] Re:
になる件です。
当方ではnamazu 2.0.12同梱のmhonarc.pl v 1.23.8.2や、
v 1.26で再現してしまいます。
# mknmz -C
システム: solaris
Namazu: 2.0.12
Perl: 5.00503
NKF: module_nkf
KAKASI: module_kakasi -ieuc -oeuc -w
茶筌: no
わかち書き: module_kakasi -ieuc -oeuc -w
メッセージの言語: ja
言語: ja
文字コード: euc
(mhonarc v2.5.13)
以前のコードを参考にして、
--- mhonarc.pl.1.26 2002-11-22 18:36:21.000000000 +0900
+++ mhonarc.pl 2002-11-22 18:48:22.618978000 +0900
@@ -120,6 +120,7 @@
$pos = index($$contref, '<!--X-Head-of-Message-End-->');
if ($pos >= 0) {
$msg_header = substr($$contref, 0, $pos);
+ $msg_header =~ s!^(<LI>)(.*?)(</LI>$)!$1 . lftospace($2) . $3!giems;
substr($$contref, 0, $pos) = "";
}
@@ -185,4 +186,10 @@
$str;
}
+sub lftospace ($) {
+ my ($str) = @_;
+ $str =~ s/[\r\n]/ /g;
+ return $str;
+}
+
1;
とかやると折り返し部分にspaceが入るものの、うまくいきます。
mhonarcで生成する文字コードをEUC-JPに変換せず、ISO-2022-JPのまま
処理しているせいでしょうか...
-----------
杉原 智彦