From: WATANABE Hirofumi Date: 2002-11-26T02:46:43+09:00 Subject: [ruby-dev:18950] Re: [ruby-cvs] ruby: * dln.c: move the MAXPATHLEN definition in front. わたなべです。 Yukihiro Matsumoto writes: > |とりあえずはwin32/win32.hでMAXPATHLENを定義すべきかなあ。 > | > |他にもありそうなのでasprintfのcheckをconfigure.inに入れたほ > |うがよさそうですね。 > |missing/{asprintf.c,vasprintf.c}も用意すべき? > > ここのMAXPATHLENはたんなる目安(PATH長ではなく関数名長だから) > なので、あまり本気になる必要はないように思います。MAXPATHLEN > じゃない別の定数を導入すればそれで終わりのような。 あまりまじめにこの関数を見てなかったんだけど、そうか、要する に"Init_foo"の文字列の長さを求めればいいだけなんですよね? だったらasprintfを使わなくても len = strlen(FUNCNAME_PATTERN) + strlen(slash + 1); *buf = ruby_xmalloc(len); snprintf(*buf, len, FUNCNAME_PATTERN, slash + 1); ぐらいで十分だと思います。 #厳密には("%s"+".so").size-1ほどちょっと多目ではあるけど。 -- わたなべひろふみ