namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: uuencode_filter() in mknmz.pl
- From: Rei FURUKAWA <furukawa@xxxxxxxxxxxxxxxx>
- Date: Mon, 11 May 1998 12:09:18 +0900
- X-ml-name: namazu
- X-mail-count: 00600
古川です。
>> On Fri, 8 May 1998 23:57:03 +0900, Hajime BABA <baba@xxxxxxxxxxxxxxxxxxxxxx> said:
> だから、[\x20-\x60] という取り方が良いとおもいます。
>> えっと、上の方は [\x20-\x60] で、下の方は [\x21-\x60] ですよね。こ
>> れは何か意味があるのでしょうか。 0x20 は空白なので uuencode には含
>> まれないような気がしますが、違うかな…。
> 二つ目のは単純な typo でしょうね。たぶん。
この部分、意外なことに、私の考えとしては、これは typo ではありません。
# 「考え自体が typo だ」というツッコミは当然あると思いますが…
uuencode 行かどうかの判定は、次のケースでは分けて考える必要があると思っ
ています。
(1) begin と end の間
(2) 分割されたなどの理由で、begin 無しに現れた場合
(1) の場合は、フォーマットに適合した行は、全て uuencode と考えていいと
思いますが、(2) の場合、単にフォーマットに適合した、というだけで、判定
するのは、ちょっと抵抗を感じることがあるのです。
その一つが「空白」です。これを認めると、普通の英文でも、大文字で書かれ
ていると、uuencode 行と判定される可能性が高くなります。
私としては、これはちょっとイヤなので、とりあえず、「空白を含むがフォー
マットに適合した行は、既にフラグが立っていれば、uuencode 行と認めるが、
この行によって、新たにフラグを立てることはしない」としてみたのでした。
もっとも、私もこれがベストだと思っているわけではなくて、本当は、実態に
合わせて、条件を絞りこむと、もうちょっと精度を高めることができると思い
ます。例えば、
>> On Fri, 8 May 1998 22:38:29 +0900, Hiroshi Kato <tumibito@xxxxxxxxxxxxxxxxxxx> said:
> (2) 1行だけ uuencode 付記事はまずないから,前後の行をみて判断する.
そもそも分割投稿は、サイズが大きいときに使われるので、これは有効だと思
います。適合行が、一定行数以上続くか、end 行が現われることを条件にすれ
ばよいかと思います。
または、「先頭文字は 'M' しか認めない」とか。
>> On Fri, 8 May 1998 23:57:03 +0900, Hajime BABA <baba@xxxxxxxxxxxxxxxxxxxxxx> said:
> このあたりむかしちょっと調べた事があるんですが、Linux の
> uuencode(5) の仕様そのままだと [\x20-\x59] です。Sun などのマニュ
> アルにも同様の表記があります。ですが、uuencode の実装には \x20
> (Space) を \x60 (`) に置き換えるという方言があるんです。
> というか、今ではもうこっちが主流になっていて、Slackware の
> uuencode などは後者です。
最初から [\x21-\x60] にしといてくれればよかったのに、と思いますね。
--
ヤマハ(株)ピアノプレーヤ設計課
古川 令
furukawa@xxxxxxxxxxxxxxxx