CP_ACP

アクティブコードページが使えないと何かと不便なので、POSIX版実装でもロケールからコードページを推測する処理を追加しました。
差分
glibcのiconvならエンコーディングに空文字を指定すればOKです。
Darwinに入っているのもGNUのiconvで、これも同じ仕様です。
CygwinはGetACP()で直接調べています。
それ以外の場合は、nl_langinfo(CODESET)で調べています。
この関数はスレッドセーフではないのですが、この情報の元を辿ると環境変数LC_CTYPEで、実行時に変更すること自体がそもそも間違いなので、それほど問題ではないと思います。