<div class="gmail_quote">2011/9/22 Howard Hinnant <span dir="ltr"><<a href="mailto:hhinnant@apple.com">hhinnant@apple.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Patch committed revision 140328.<br></blockquote><div><br>Thanks!<br><br>Now that I've got your attention, on to more... involved... matters :-)<br><br>In order to support libc++'s current implementation using cat[gets|open|close] and nl_types.h (which I ignored for now), I would need to pull in some external code, namely mingw's libcatgets and a supporting iconv library. These can all go under support/win32 and leave all other platforms unchanged of course, and leave the rest of libc++ as coherent as possible on all platforms. I understand Howard has an acceptable aversion to including too much foreign code in libc++, and hope you can see the need for this here.<br>
<br>There are some issues though:<br> - libcatgets is licensed under GPLv2. If I can go through with this, I can ask/plead/beg the original author to allow a license change or ask him to make an exception for libc++. I know of no existing alternative.<br>
 - for the iconv part, GNU libiconv is of course out of the question. There are two projects of interest: APR-iconv (Apache License 2.0) and win-iconv (BSD 2-clause license), the latter being tiny but primitive. The first is a truly first class implementation as far as I can see, and with minor refactoring could be included in the libc++ Windows build.<br>
 - I am not an Open Source license lawyer, and do not know what would be acceptable for libc++ in this regard.<br><br>I want to ask what's "best", before starting with the implementation. The only real alternative is writing all this (ie catgets with supporting iconv code) from scratch, which I don't see myself doing in the near to distant future. Another way is to completely replace libc++ parts that use/rely on these API's, but this would make libc++ a lot more assymetric across platforms. In theory, these support files could help other platforms where these API's are missing.<br>
<br>Please let me know what you think. Thanks!<br><br>Ruben<br></div></div>