namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Namazu v1.1.1.4 released
- From: Kaz SHiMZ <kshimz@xxxxxxxxx>
- Date: Mon, 2 Mar 1998 16:19:24 +0900
- X-ml-name: namazu
- X-mail-count: 00295
清水@住友林業です。
Satoru Takabayashi <ccsatoru@xxxxxxxxxxxxxxxxxx> さんは
Mon, 2 Mar 1998 07:13:21 +0900 に書きました ;
> 高林です
>
> 小さな修正を行いました。変更点は以下の通りです。
>
> v1.1.1.4
> [3/2/98]
>
> * namazu で日本語分解の際にテンポラリファイルを作らないようにしま
> した
> * Win32 用の Makefile (Makefile.W32) を添付しました
> (広瀬@NECエンジアリングさんが作成してくださりました Thanks!)
> * OS/2 でドライヴの扱いに問題があった点を修正しました
> (清水@住友林業さんがパッチを作成してくださりました Thanks!)
すいません、隔日刊 OS/2 patch になってしまいますが、ドライブの扱いを
完全にしたと思ったら、今度は相対パスの扱いをバグらせていました。
というわけで、「インデックスのあるディレクトリを指す文字列に、ドライブ
レターが含まれているか否か」を、「文字列の 2 byte 目が ':' か否か」で
判断し、_chdir2() を実行する/しないを分岐させました。
今度こそイロイロな入力を試してみたので、これで大丈夫だと思います。
> これって execl() を execlp() に変更するだけで解決する問題でした。
> つまり、 execl() はフルパスで指定しないといけなくて、 execlp() は
> プログラムの指定にに '/' が含まれないときは環境変数 PATH を参照し
> て実行してくれるそうです。たぶん、これで大丈夫でしょう。
>
> それから、今まで KAKASI の出力をテンポラリファイルに落としていたの
> ですが、 pipe で双方向に通信する方法が分かったのでこれは不要になり
> ました。
あー、ここ、私も namazu-1113 のソース追っていて気が付いたのですが、
namazu-1113 では__EMX__を通すと、わかち書きプログラムが必ず chasen
になってしまうという bug がありました。修正せな、と思っていたのです
が、namazu-1114 できれいに解消されていますね。
OS/2 では execl() でも execlp() でも、環境変数 PATH を見て動作する
ので、この部分は namazu-1114 で全然問題ないです。
あと、namazu のバージョン情報が
Search Program of Namazu Version 1.1.1.3
Copyright (C) 1997-1998 Satoru Takabayashi All rights reserved.
のままだったので、こっちにも patch を当ててあります :-)
では、patch 本体です。
--- srnmz.c.orig Mon Mar 2 07:00:12 1998
+++ srnmz.c Mon Mar 2 16:08:42 1998
@@ -26,7 +26,7 @@
*/
/* ソフトウェア情報 */
-static char *VERSION = " Search Program of Namazu Version 1.1.1.3\n";
+static char *VERSION = " Search Program of Namazu Version 1.1.1.4\n";
static char *COPYRIGHT =
" Copyright (C) 1997-1998 Satoru Takabayashi All rights reserved.\n\n";
static char *USAGE = " usage: %s [-nwsvhca] [dir] \"key string\"\n\
@@ -2085,17 +2085,21 @@
if (i <= ac - 2) {
if (-1 == chdir(av[i]))
error(av[i]);
-#ifdef __EMX__
- if (-1 == _chdir2(av[i]))
- error(av[i]);
+#ifdef __EMX__
+ if (*(av[i] + 1) == ':') {
+ if (-1 == _chdir2(av[i]))
+ error(av[i]);
+ }
#endif
i++;
} else {
if (-1 == chdir(DEFAULT_DIR))
error(DEFAULT_DIR);
-#ifdef __EMX__
- if (-1 == _chdir2(DEFAULT_DIR))
- error(DEFAULT_DIR);
+#ifdef __EMX__
+ if (*(DEFAULT_DIR + 1) == ':') {
+ if (-1 == _chdir2(DEFAULT_DIR))
+ error(DEFAULT_DIR);
+ }
#endif
}
if (strlen(av[i]) >= BUFSIZ - 1) {
end
--
住友林業株式会社 情報システム部 清水 和佳
TEL: +81-3-5322-6672 FAX: +81-3-5322-6658 Niftyserve: XLW01034
e-mail: <kshimz@xxxxxxxxx>