namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
vsnprintf.c (Re: AC_REPLACE_FUNCS)
Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx> wrote:
> memmove strcasecmp strncasecmp strchr strstr strdup vsnprintf
>
>あたりをもらってこようと思います。いかがでしょう?
>
># 野首さんが vsnprintf を導入したのをきっかけに気づきました。
># (IRIX 6.3 で make が通らなかった)
Ruby の missing/vsnprintf.c は BSD License なので
| * 3. All advertising materials mentioning features or use of this software
| * must display the following acknowledgement:
| * This product includes software developed by the University of
| * California, Berkeley and its contributors.
という部分が気になります。
# そもそも advertising materials はどこまでを指すのだろう?
ほかに vsnprintf.c は存在しないかと探してみたところ、
gnome-1.0.40/gnome-libs-1.0.40/support/vsnprintf.c がありま
した。こちらは advertising materials うんぬんはありません。
ただ、mprotect() というめずらしい (?) 関数を使っているのが気
になります。手近のマシンで調べてみたところ、
Linux + libc5.4.44
SunOS 4.1.4-JL 2
SunOS 5.5.1
には存在しました。 gnome でも使っているんだし、こちらの
vsnprintf.c を使おうかな?
あるいは (今はとりあえずそうしているんだけど)
va_start(args, fmt);
#ifdef HAVE_VSPRINTF
#ifdef HAVE_VSNPRINTF
vsnprintf(Dyingmessage, BUFSIZE, fmt, args);
#else /* not HAVE_VSNPRINTF */
vsprintf(Dyingmessage, fmt, args);
#endif /* not HAVE_VSNPRINTF */
strcpy(Dyingmessage, "Your system has no vsnprintf/vsprintf. ;-)\n");
#endif /* not HAVE_VSPRINTF */
va_end(args);
のようにしてお茶を濁すか。ご意見をくださいませ。
# C言語で portable な code を書くのは難しい…
...
ところで、File-MMagic/COPYING には
| * 3. All advertising materials mentioning features or use of this
| * software must display the following acknowledgment:
| * "This product includes software developed by the Apache Group
| * for use in the Apache HTTP server project (http://www.apache.org/)."
とありますね。こういうのは好きじゃないなあ…。
* BSD License Problem - GNU Project - Free Software Foundation (FSF)
<http://www.gnu.org/philosophy/bsd.html>
-- Satoru Takabayashi