namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: invalid dbname on the CGI mode
- From: Kaz SHiMZ <kshimz@xxxxxxxxx>
- Date: Tue, 29 Sep 1998 11:33:03 +0900
- X-ml-name: namazu
- X-mail-count: 01247
清水@住友林業です。
Mon, 28 Sep 1998 23:45:16 +0900 に、
Satoru Takabayashi <ccsatoru@xxxxxxxxxxxxxxxxxx> さんは書きました ;
> まさか本当にうまくいくとは思っていませんでした ;-)。
瓢箪から駒、でしょうか?
> ということは OS/2 の場合は上の処理を行えばいいわけですね。副作用は
> ないですか? 今度は英数字のファイル名がおかしくなるとか…。
NetNews や RFC や社内 Web のディレクトリをブン回して数百ファイルを
mknmz に掛けてみましたが、ファイル名は大丈夫です。
ただ、最近気が付いたのですが、FRAMESET の起点となる文書を、オプション
-u を付けて mknmz に掛けるとワーニングが出ますね。で、<NOFRAMES> が
ないからかと思って修正してみたのですが、それでも同じでした。これは、
<BODY> 〜 </BODY> がないから、でしょうか
# 社内では Netscape3.01 / 4.05 以外は使わせない、ということにして
# いるもので、つい、<NOFRAMES> がない文書が蔓延する (^^;
また、SSI だけの文書(HTML ヘッダからボディまで、SSI で呼び出された
スクリプト側で作成してしまうもの)でも、同じメッセージが出ます。
やはり、 <BODY> 〜 </BODY> がないからでしょうか。
-- 該当する文書の引用 ここから --
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<HTML>
<HEAD>
<TITLE>情報システム部</TITLE>
<LINK REV="made" HREF="mailto:kshimz@xxxxxxxxx">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-2022-jp">
<META HTTP-EQUIV="reply-to" CONTENT="kshimz@xxxxxxxxx">
<META NAME="Author" CONTENT="Kazuyoshi SHIMIZU">
</HEAD>
<FRAMESET COLS="30%,*">
<FRAME NAME="LIST" SRC="/infosys/list.html">
<FRAME NAME="DETAIL" SRC="/infosys/layout.html">
</FRAMESET>
</HTML>
-- 引用 ここまで --
以上の文書を
%mknmz -uk w:\infosys
とすると、以下のワーニングが出ます。
4 /W%7C/infosys/index.html
Use of uninitialized value at H:\BIN/mknmz.cmd line 981.
Use of uninitialized value at H:\BIN/mknmz.cmd line 981.
で、mknmz.cmd とは、mknmz.pl の頭に OS/2 用の呼び出しコマンドを付加
したもので、981行目は、uuencode の読み飛ばしルーチンの中にあるのです
が、エディタで行番号を見ると空行なので、その前後の文にある、
$uuin
あたりを指して「Use of uninitialized value」と言っているような感じが
します。
-- mknmz.cmd line 967 - 989 --
$uuin = 1, next if $line =~ /^begin [0-7]{3,4} \S+$/;
if ($line =~ /^end$/){
$uuin = 0,next if $uuin;
}else{
# ここで、ord の値は 32-95 の範囲に
$uuord = 32 if ($uuord = ord($line)) == 96;
# uunumb = 38 の行が loop の外に出ていると、
# 一般の行で 63 文字の行があったら誤動作してしまう
$uunumb = (length($line)==63)? 37: 38;
if ((32 <= $uuord && $uuord < 96) &&
length($line) <= 63 &&
(4 * int($uuord / 3) == length($line) + $uunumb)){
ここ →
if ($uuin == 1 || $uuin == $uuord){
next if $line =~ /^[\x20-\x60]+$/;
} else {
# beginから始まっていないものは厳しくしよう [05/22/1998]
$uuin = $uuord, next if $line =~ /^M[\x21-\x60]+$/;
}
}
}
--
以上、よろしくお願いします。
end
--
住友林業株式会社 情報システム部 清水 和佳
TEL: +81-3-5322-6672 FAX: +81-3-5322-6658 Niftyserve: XLW01034
e-mail: <kshimz@xxxxxxxxx>