|
▼ 2008/6/25 (水) 12:43:47 なすこじ | |
|
Mozilla/4.8 (Macintosh; U; PPC) |
▼ kobakeさん
API側がANSIなのに文字カウントをunicodeで行なっている様な変な動作をしているので、おっしゃる様な処理をしないと厳密にはできないですね。
> ちなみに環境依存かもしれないですけど(?)、Windows Vista Home Edition の環境では、
> バッファを最初から _MAX_PATH*2 確保しておくと、んまぁ一応正常動作しました。結果論ですが。
確認ありがとうございます。98,NT以降で大丈夫なのかもしれませんが、
・undocumentedな動作である
・沢山の所で_MAX_PATHが使われているので拡張すると確認が大変
・unicode版なら長いパスを正しく扱えるのでANSI版が対応してなくても大丈夫
ということで、バッファの拡張は行なわずにオーバーフローチェック&エラー表示するだけのパッチを作りました。
|
|