namazu-ml(avocado)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Namazu v1.1.1-proto-2



 Date: Wed, 04 Feb 1998 01:49:28 JST
 From: Satoru Takabayashi <ccsatoru@xxxxxxxxxxxxxxxxxx>
 Subject: [namazu:00099] Re: Namazu v1.1.1-proto-2

 > >  BASE /home/foo/public_html/ http://www.aaa.ac.jp/~foo/
 > >のように書いておいて、フルパスのうち先頭部分の 
 > >/home/foo/public_html/ 部分をhttp://www.aaa.ac.jp/~foo/ と置換する
 > >ようなやり方は可能でしょうか?
 > なるほど。確かにその方がいいですよね。
 > ...
 > >freeWAIS-sf の -URL オプションはちょうどそのような働きをします。こ
 > >れができれば結構便利なんじゃないかとおもっています。どうでしょう。
 > 私も便利だと思います。さっそく実装してみることにします。

ありがとうございます。ぜひお願いします。


 > <BASE HREF="..."> で誤魔化すというのはすごくお手軽で私好
 > みではあったのですが:-)。

手軽は手軽なんですね。ただ、上のやり方ができる方がより良いと言うか。


 > >もっとも、Perl ならここらは s/// と正規表現で一発ですが、C でやろ
 > >うとすると若干面倒なのかもしれません。あとは、書き換えのコストも若
 > >干影響するでしょうが、これはまあたいしたことはないでしょう。
 > そうですねえ、 C で書くとちょっと面倒くさいかもしれません。でも、
 > たいしたことはないでしょう。書き換えのコストもあるけど、これはまあ 
 > BASE が設定されていなければその部分の処理はパスするわけだからいい
 > ですよね。

うん、もっとも、今でもtty から使うとfputs_without_html_tag() を通っ
ているわけで、それでも特に遅いとは感じないので、こういう処理をして
もたいしたことはないのでしょう。たぶん。


 > それから、さきほどの馬場さんのパッチはさっそく採用させていただきま
 > した。こちらもありがとうございました。

取り入れてもらってどうもです。ついでに、全く同じことをするパッチで
mknmz.pl 用のを作りました。最後に付けておきます。

# エラー処理は errno を見て楽をすると言うことですね。

## パイプの時の処理は $? を見た方が良いのかな?>識者の方
## そう言うことを古川さんが X-Mail-Count: 00046 でおっしゃって
## おられたですので。
--
馬場  肇 ( Hajime BABA )            E-mail: baba@xxxxxxxxxxxxxxxxxxxxxx
京都大学理学部宇宙物理学教室 博士課程一回生
--


--- mknmz.pl.orig	Tue Feb  3 07:50:24 1998
+++ mknmz.pl	Wed Feb  4 02:33:50 1998
@@ -396,7 +396,7 @@
 	$filter = "$NKF -emZ1 \"$$cfile\" |";
     }
 
-    open(CFILE, $filter) || die "Can't open $$cfile.\n";
+    open(CFILE, $filter) || die "$$cfile: $!\n";
     @tmp = <CFILE>;
     $$contents = join("", @tmp);
 
@@ -822,15 +822,15 @@
 
     ($current_dir, $target_dir) = &commandlineopt;
     &dbnamechange($current_dir);
-    chdir $target_dir || die "Can't chdir to $target_dir.\n";
+    chdir $target_dir || die "$target_dir: $!\n";
 
     # $PROTOCOL が \t なら $target_dir の cwd を元にセット v1.1.1
     $PROTOCOL = cwd() . "/" if $PROTOCOL eq "\t";
 
     $file_segment = &findfiles;
-    open(FLIST, "|$NKF -jZ >$FLIST_") || die "Can't open $FLIST_.\n";
+    open(FLIST, "|$NKF -jZ >$FLIST_") || die "$FLIST_: $!\n";
     binmode(FLIST);
-    open(ERRORSFILE, ">>$ERRORSFILE") || die "Can't open $ERRORSFILE.\n";
+    open(ERRORSFILE, ">>$ERRORSFILE") || die "$ERRORSFILE: $!\n";
     binmode(ERRORSFILE);
     return $file_segment;
 }
@@ -935,7 +935,7 @@
 
 # REGLIST を更新
 sub registration_file_put () {
-    open(REGLIST, ">>$REGLIST") || die "Can't open $REGLIST.\n";
+    open(REGLIST, ">>$REGLIST") || die "$REGLIST: $!\n";
     binmode(REGLIST);
     print REGLIST @FList;
     close(REGLIST);
@@ -963,7 +963,7 @@
 sub lock_msg_put () {
     if (! -e $LOCKMSGFILE) {
 	open(LOCKMSGFILE, "|$NKF -j >$LOCKMSGFILE")
-	    || die "Can't LOCKMSGFILE.\n";
+	    || die "$LOCKMSGFILE: $!\n";
 	binmode(LOCKMSGFILE);
 	print LOCKMSGFILE $LOCK_MSG;
 	close(LOCKMSGFILE);
@@ -974,7 +974,7 @@
 sub content_msg_put () {
     if (! -e $BODYMSGFILE) {
 	open(BODYMSGFILE, "|$NKF -j >$BODYMSGFILE")
-	    || die "Can't BODYMSGFILE.\n";
+	    || die "$BODYMSGFILE: $!\n";
 	binmode(BODYMSGFILE);
 	print BODYMSGFILE $CONTENT_MSG;
 	close(BODYMSGFILE);
@@ -1032,9 +1032,9 @@
 
 # FLIST の追加を行う
 sub flist_append () {
-    open(FLIST, "$FLIST_") || die "Can't open $FLIST.\n";
+    open(FLIST, "$FLIST_") || die "$FLIST: $!\n";
     binmode(FLIST);
-    open(FLISTBASE, ">> $FLIST.base") || die "Can't open $FLIST.base.\n";
+    open(FLISTBASE, ">> $FLIST.base") || die "$FLIST.base: $!\n";
     binmode(FLISTBASE);
     print FLISTBASE while <FLIST>;
     close(FLIST);
@@ -1174,7 +1174,7 @@
 
 
     open(REGLIST, "$REGLIST")
-	|| die "Can't open $REGLIST.\n";
+	|| die "$REGLIST: $!\n";
     @tmp = <REGLIST>;
     $file_segment = @tmp;   # $file_count のセグメント用
 
@@ -1217,7 +1217,7 @@
 
     print $logmsg;
 
-    open(LOGFILE, ">>$LOGFILE") || die "Can't open $LOGFILE.\n";
+    open(LOGFILE, ">>$LOGFILE") || die "$LOGFILE: $!\n";
     binmode(LOGFILE);
     print LOGFILE $logmsg;
     close(LOGFILE)
@@ -1235,7 +1235,7 @@
 
     if (-e $file) {
 	# ファイルは EUC で読み込みます
-	open(FILE ,"$NKF -e $file|") || die "Can't open $file.\n";
+	open(FILE ,"$NKF -e $file|") || die "$file: $!\n";
 	binmode(FILE);
 	@tmp = <FILE>;
 	$_ = join("", @tmp);
@@ -1248,7 +1248,7 @@
     }
 
     # ファイルは JIS コードで保存します
-    open(FILE ,"|$NKF -j >$file") || die "Can't open $file.\n";
+    open(FILE ,"|$NKF -j >$file") || die "$file: $!\n";
     binmode(FILE);
 
     if (/(<!-- FILE -->)\s*(.*)\s*(<!-- FILE -->)/) {
@@ -1500,11 +1500,11 @@
     }
     return if $#words == -1;
 
-    open(INDEXINDEX , ">$INDEXINDEX_") || die "Can't open $INDEXINDEX.\n";
+    open(INDEXINDEX , ">$INDEXINDEX_") || die "$INDEXINDEX: $!\n";
     binmode(INDEXINDEX);
-    open(HASH , ">$HASH_") || die "Can't open $HASH.\n";
+    open(HASH , ">$HASH_") || die "$HASH: $!\n";
     binmode(HASH);
-    open(TMP_I , ">$TMP_I") || die "Can't open $TMP_I.\n";
+    open(TMP_I , ">$TMP_I") || die "$TMP_I: $!\n";
     binmode(TMP_I);
     if (open(INDEX , "$INDEX_")) {
 	binmode(INDEX);
@@ -1580,8 +1580,8 @@
     my ($f, $ptr);
 
     # FLISTINDEX ファイルの作成
-    open(FLIST , "$FLIST_") || die "Can't open $FLIST.\n";
-    open(FLISTINDEX , ">$FLISTINDEX_") || die "Can't open $FLISTINDEX.\n";
+    open(FLIST , "$FLIST_") || die "$FLIST: $!\n";
+    open(FLISTINDEX , ">$FLISTINDEX_") || die "$FLISTINDEX: $!\n";
     binmode(FLISTINDEX);
 
     $ptr = 0;
@@ -1606,8 +1606,8 @@
     my ($from, $to) = @_;
     my ($buf);
 
-    open(FROM, "$from") || die "Can't open $from\n";
-    open(TO, ">$to")    || die "Can't open $to\n";
+    open(FROM, "$from") || die "$from: $!\n";
+    open(TO, ">$to")    || die "$to: $!\n";
 
     while(read (FROM, $buf, 16384)) {
         print TO $buf;