namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
mkmnz.pl jcode.pl patch
- From: tmu@xxxxxxxxxxxxx (MURASHITA Takuya)
- Date: Mon, 25 May 1998 15:44:19 +0900
- X-ml-name: namazu
- X-mail-count: 00694
村下です
mknmz.pl(1.1.2.3 snapshot-6)にnkfを使わないでjcode.plで処理するような
patchを当ててみました。
注意
半角カナ文字やMIMEのデコードは考慮していません。
あとjcode.plでいらなくなりそうなコードもありますが、
それはそのまま残して有ります(^^;)
#win32当たりのパイプエラー処理の部分とか。
---------------------------------------------------------
diff -c mknmz.pl mknmz.pl.new | m
*** mknmz.pl Tue May 19 02:59:20 1998
--- mknmz.pl.new Mon May 25 14:52:54 1998
***************
*** 26,32 ****
require 5.003;
use Cwd;
! use strict qw(subs refs); # vars を入れるとちょっと大変なので…
##
## ソフトウェア情報
--- 26,33 ----
require 5.003;
use Cwd;
! #use strict qw(subs refs); # vars を入れるとちょっと大変なので…
! require 'jcode.pl';
##
## ソフトウェア情報
***************
*** 590,598 ****
}
! open(CFILE, $filter) || die "$$cfile: $!\n";
@tmp = <CFILE>;
! $$contents = join("", @tmp);
# 圧縮されたファイルの場合、サイズが変わるのでここで再び調べる
if ($zipped) {
--- 591,605 ----
}
! # open(CFILE, $filter) || die "$$cfile: $!\n";
! # @tmp = <CFILE>;
! # $$contents = join("", @tmp);
! open(CFILE, $$cfile) || die "$$cfile: $!\n";
@tmp = <CFILE>;
! close(CFILE);
! local($a) = join("", @tmp);
! &jcode'convert(*a,'euc');
! $$contents = $a;
# 圧縮されたファイルの場合、サイズが変わるのでここで再び調べる
if ($zipped) {
***************
*** 611,617 ****
# コントロール文字を空白に (改行コードは残すことにした v1.03)
$ctrl = $$contents =~ tr/\x0-\x9\xb-\x1f\xff/ /;
$kanji = $$contents =~ tr/\xa1-\xfe/\xa1-\xfe/; # 漢字が含まれるか調べる
- close(CFILE);
($size, $ctrl, $kanji);
}
--- 618,623 ----
***************
*** 1139,1145 ****
}
if (($SYSTEM eq "UNIX") || ($SYSTEM eq "OS2")) {
! open(FLIST, "|$NKF -jZ >$FLIST_") || die "$FLIST_: $!\n";
} elsif ($SYSTEM eq "WIN32") {
# 例によって Win32 のパイプは変なので別処理になる
open(FLIST, ">$FLIST_") || die "Can't open $FLIST_.\n";
--- 1145,1152 ----
}
if (($SYSTEM eq "UNIX") || ($SYSTEM eq "OS2")) {
! # open(FLIST, "|$NKF -jZ >$FLIST_") || die "$FLIST_: $!\n";
! open(FLIST, ">$FLIST_") || die "$FLIST_: $!\n";
} elsif ($SYSTEM eq "WIN32") {
# 例によって Win32 のパイプは変なので別処理になる
open(FLIST, ">$FLIST_") || die "Can't open $FLIST_.\n";
***************
*** 1187,1193 ****
if ($SYSTEM eq "WIN32") {
# Win32 だと書き直してあげないといけない。
! open(FLIST, "$NKF -jZ $FLIST_|") || die "$FLIST_: $!\n";
open(FLISTTMP, ">$FLIST_.tmp") || die "$FLIST_.tmp: $!\n";
binmode(FLISTTMP);
print FLISTTMP while <FLIST>;
--- 1194,1201 ----
if ($SYSTEM eq "WIN32") {
# Win32 だと書き直してあげないといけない。
! # open(FLIST, "$NKF -jZ $FLIST_|") || die "$FLIST_: $!\n";
! open(FLIST, "$FLIST_") || die "$FLIST_: $!\n";
open(FLISTTMP, ">$FLIST_.tmp") || die "$FLIST_.tmp: $!\n";
binmode(FLISTTMP);
print FLISTTMP while <FLIST>;
***************
*** 1286,1294 ****
if ($CCS eq "euc") {
print $USAGE;
} elsif ($CCS eq "sjis") {
! open(NKF, "|$NKF -s");
! print NKF $USAGE;
! close(NKF);
}
exit;
}
--- 1294,1304 ----
if ($CCS eq "euc") {
print $USAGE;
} elsif ($CCS eq "sjis") {
! # open(NKF, "|$NKF -s");
! # print NKF $USAGE;
! # close(NKF);
! &jcode'convert(*USAGE,'sjis');
! print $USAGE;
}
exit;
}
***************
*** 1393,1401 ****
my ($fname, $msg) = @_;
if (! -e $fname) {
! open(FILE, "|$NKF -j >$fname")
! || die "$fname: $!\n";
binmode(FILE);
print FILE $msg;
close(FILE);
}
--- 1403,1412 ----
my ($fname, $msg) = @_;
if (! -e $fname) {
! # open(FILE, "|$NKF -j >$fname") || die "$fname: $!\n";
! open(FILE, ">$fname") || die "$fname: $!\n";
binmode(FILE);
+ &jcode'convert(*msg,'jis');
print FILE $msg;
close(FILE);
}
***************
*** 1668,1678 ****
if (-e $file) {
# ファイルは EUC で読み込みます
! open(FILE ,"$NKF -e $file|") || die "$file: $!\n";
binmode(FILE);
@tmp = <FILE>;
- $_ = join("", @tmp);
close(FILE);
}
else {
# ヘッダファイルとフッタファイルとそれぞれのメッセージを読み込み
--- 1679,1692 ----
if (-e $file) {
# ファイルは EUC で読み込みます
! # open(FILE ,"$NKF -e $file|") || die "$file: $!\n";
! open(FILE ,"$file") || die "$file: $!\n";
binmode(FILE);
@tmp = <FILE>;
close(FILE);
+ local($a) = join("", @tmp);
+ &jcode'convert(*a,'euc');
+ $_ = $a;
}
else {
# ヘッダファイルとフッタファイルとそれぞれのメッセージを読み込み
***************
*** 1683,1689 ****
}
# ファイルは JIS コードで保存します
! open(FILE ,"|$NKF -j >$file") || die "$file: $!\n";
binmode(FILE);
if (/(<!-- FILE -->)\s*(.*)\s*(<!-- FILE -->)/) {
--- 1697,1704 ----
}
# ファイルは JIS コードで保存します
! # open(FILE ,"|$NKF -j >$file") || die "$file: $!\n";
! open(FILE ,">$file") || die "$file: $!\n";
binmode(FILE);
if (/(<!-- FILE -->)\s*(.*)\s*(<!-- FILE -->)/) {
***************
*** 1702,1707 ****
--- 1717,1726 ----
}
$_ =~ s/(<!-- DATE -->)(.*)(<!-- DATE -->)/$1 $month\/$day\/$year $3/g;
+ local($a) = $_;
+ &jcode'convert(*a,'jis');
+ $_ = $a;
+
print FILE;
close(FILE);
}
***************
*** 1725,1730 ****
--- 1744,1752 ----
$title =~ s/^\s+//;
$title =~ s/\s+/ /g;
$cfile_size = &commas($cfile_size);
+ &jcode'convert(*title,'jis');
+ &jcode'convert(*abstract,'jis');
+ &jcode'convert(*url,'jis');
# FLIST へ書き出し <DT> の後に改行が欲しいのです
print FLIST "<DT>\n<STRONG><A HREF=\"$url\">$title</A></STRONG>\n";
----
MURASHITA Takuya Ikegami Tsushinki Co.,Ltd. Information Planning Div.
http://www.ikegami.co.jp/