Shiro Kawai
shiro****@lava*****
2004年 1月 30日 (金) 10:36:17 JST
From: Kimura Fuyuki <fuyuk****@nigre*****> Subject: [Gauche-devel-jp] sys-* Date: Wed, 28 Jan 2004 10:09:30 +0900 > At Mon, 26 Jan 2004 15:15:22 -1000 (HST), > Shiro Kawai <shiro****@lava*****> wrote: > > > > 一応、sys-* の基準はPOSIXにしています。 > > POSIXにないものはconfigureで存在を確かめて下さい。 > > この基準でいくと、truncateは存在チェックが必要になります。 > > http://www.opengroup.org/onlinepubs/007904975/functions/truncate.html > > 基準にするPOSIXのバージョンによってはftruncateもそうです。 > > http://www.opengroup.org/onlinepubs/007904975/functions/ftruncate.html > > 1999まではノーチェックでよさそうですが、それ以降はどうでしょうね。 いまのところ、POSIXの規格文書は持っているわけでもなく、 manpageあたりを見て判断しているのが現状です。 truncate, ftruncateについてはmanpageの次の記述を参考にしました。 4.4BSD, SVr4 (these function calls first appeared in BSD 4.2). POSIX 1003.1-1996 has ftruncate. POSIX 1003.1-2001 also has truncate, as an XSI extension. でも私はPOSIXの変遷を良く理解してないです。IEEE Std 1003とは 同じではない? symlinkは昔のPOSIXには入ってなかったけど IEEE Std 1003.1, 2003には入ってるみたいだし。 Gaucheにシステム関数サポートをつけた時は、Donald Lewineの POSIX Programmer's Guideをみて、それに上げられている関数を 片っ端から実装したのですが (Gaucheの実行モデルと合わせにくい 一部の関数を除いて)、この本自体1994年の版で、少々古いです。 最近のもので参考にできるような書籍やサイト等、ご存知でしたら 教えてください。 --shiro