[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: KDE2



ダイナミックローダーはわからないので
こっちだけ。

最近のtech-kern@netbsd.orgでも同じ話が
見られます。

あと、KDE2のパッケージの話については、
最近のtech-pkg@netbsd.orgに話題が
あるようです。

> 再度mkdirの話です。
> ファイル名の最後に / があるといけないのは mkdir だけで、
> open, stat, rmdirといったところは OK です。
> mkdir だけがだめというのはやはり尺然としません。

パス名の中の「/」をどう解釈するか、
またその実装がどうなっているかを見れば
理解できるのかなと思いますが、
BSDでは、伝統的に『パス名に「/」があれば
その直前のファイル名は存在するディレクトリを
表す』という解釈をとっています。
実装としては、パス名からiノードを返す
nameiという関数でそうなるようにしてあるのだと
思います。(ちょっと確認していませんが。)

なので、mkdirの引数が「/」で終ってると、
存在しないパス名なのでエラーになるわけです。
mkdirしたいパス名なので存在しないのは
当然じゃないかと思うかもしれませんが、
mkdir /a/b/c としたい時に /a/b が存在しない
場合にはエラーになりますよね。それと同じです。

ところがSystemVでは、パス名の最後の「/」は
無視されるようになっています。(SystemVの
nameiのバグだという話がよくされますが、
本当かどうか私は知りません。) とにかく、
SystemVではパス名の最後の「/」は無視されます。
なので、mkdirでもエラーにはならないわけです。
-- 
iかわもと よしひさ!
                   kawamoto@es.osaka-u.ac.jp