OK since this approach makes sense I'll shoot with my questions :)<div><br></div><div>1. Where should get_utf8_argv go and is the name of this function OK? Right now the function is inside llvm::sys::fs namespace because I need access to Windows.h, should I leave it there.</div>

<div>2. get_utf8_argv allocates new char** representing utf8 argv, should I deallocate this inside driver.cpp, use std::vector<std::string> instead or ignore the allocation completely?</div><div>3. There is an #ifdef inside driver.cpp right now that I don't like. get_utf8_argv works for windows only, but I could change the function to accept argv and return it as vector of utf8 strings. It would convert char* to std::string on unix and use GetCommandLine + utf8 conversion on windows.</div>

<div>4. Should I wrap functions like ::fstat and ::close for consistency even though they don't work with paths?</div><div><br></div><div>I'll fix everything that is formatting related. You're right, current patch has Open only for windows but I'll add the other one as well.</div>

<div><br></div><div><div class="gmail_quote">On Tue, Sep 20, 2011 at 7:42 PM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com">aaron@aaronballman.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im"><br></div>
You may want to test the consistency of this approach from the<br>
original with regards to backslashes and quotation marks, if for no<br>
other reason than documenting it. CommandLineToArgvW calls them out<br>
in the documentation.<br>
<br></blockquote><div><br></div><div>I don't understand what you meant by this? I'm aware that CommandLineToArgvW has special interpretation of backslashes and quotes, but what should I check exactly?</div></div>

</div>