山本です。

[ruby-dev:22449]にバグがあったので修正しました。
**/**/のように**/が続くと、二つ目以降の ** が fnmatch に渡されていました。

# HP容量を取得したので、実験を兼ねて二通りのdir.cを置いてみました。

http://www.ccsnet.ne.jp/~ocean/dir.c.1
ruby-1.8.1 のロジックを踏襲。処理が読みやすい。

http://www.ccsnet.ne.jp/~ocean/dir.c.5
速度を向上させるため、動作が大きく変わっている。場合によっては倍の速度が出る。

# また、NTFS5以降でシンボリックリンクを使えることを考慮していなかったため、
# win32のパッチはとりあえず外しています。