From: Katsuyuki Komatsu Date: 1999-10-18T12:08:27+09:00 Subject: [ruby-list:17794] Re: Kconv について 小松です。 In the message of [ruby-list:17786] Re: Kconv について on 1999/10/18 10:04:20 関口久之 wrote: |正常にインストールできました。 | #define HAVE_FNMATCH_H 1 を消しました。 コメントではエラーとなります。 | #define HAVE_FNMATCH 1  ちなみに これはそのままですか?(とりあえずそのままにしました。) 関口さん、確認ありがとうございます。 HAVE_FNMATCHはRubyのソース内で使っていないので、消しても消さなく ても実害ないですが、他のmissing/*.cが使われるケースでは生成され ないようなので消した方がよさそうです。 # configure.inのAC_REPLACE_FUNCS()で置き換わったものを、あると # みなすべきなのか、ないとみなすべきなのかはよくわかりません。 でもコメントアウトでエラーになるってなぜだろう。 /* #define HAVE_FNMATCH_H 1 */ /* #define HAVE_FNMATCH 1 */ というふうにしてエラーになるならregex.cの /* #define NO_ALLOCA */ /* try it out for now */ だってエラーになるはずなんですが。 |/usr/include/fnmatch.h |#define FNM_PATHNAME 0001 |#define FNM_PERIOD 0002 |#define FNM_NOESCAPE 0004 |となっています。 | |参考)ruby/missing/fnmatch.h |#define FNM_NOESCAPE 0x01 /* Disable backslash escaping. */ |#define FNM_PATHNAME 0x02 /* Slash must be matched by slash. */ |#define FNM_PERIOD 0x04 /* Period must be matched by period. */ やっぱり違ってましたか。/usr/include/fnmatch.hとmissing/fnmatch.c の組み合わせだと、FNM_NOESCAPE|FNM_PATHNAMEを指定したことになって、 "."や".."まで返ってきてしまいますね。 |インストール後、下記を実行しました。(参考) 期待通りの動作です。 -- 小松克行 / Katsuyuki Komatsu