mkdirhierのバグ

imakeに入っているmkdirhierがCygwin環境では動作しない(事がある)というお話しです。
なんでいきなりimakeなのかというとFreePWINGにこのmkdirhierが入っているからです。 簡単に書くと、Cygwin環境でmkdirhierに絶対パスを引数として与えるとディレクトリの作成に失敗するというものです。 何故失敗するかというと、絶対パス名が与えられると先頭の'/'を'//'に変更してディレクトリを掘ろうとするためです。 以前からあった問題なのかは知りません。 UNIX環境では問題にならないようですが、Cygwin環境ではUNC名として解釈されるので予期しない動作を来します (大抵の場合はエラー)。
ちなみに、最近のmkdirには同等の動作をするオプション (-p) があるので、mkdirhierがなくてもあまり困らないかもしれません。 改造版のFreePWINGは修正しました。
タグ:FreePWING