Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2022-08-16 00:03:01


Gavin Lambert wrote:
> On 16/08/2022 11:31, Peter Dimov wrote:
> > route.cpp does create a path from argv[2], but interpreting it as
> > UTF-8 would probably be a feature. Using the ACP is wrong anyway as
> > argv[2] is likely in the console code page.
>
> On Windows, the application always receives command line arguments as
> wchar_t. If you provide the narrow main() entrypoint method then it is the
> application's runtime startup code that will convert args back to ANSI using the
> ACP, not the console code page. As such, interpreting argv as ACP is correct

You're right, it is. So path::imbue is wrong even for route.cpp.

> (albeit lossy if there were any Unicode characters involved -- the only truly
> correct design is to only use the wide entrypoint or ignore the entrypoint args
> and reparse from the original Unicode string).
>
> Also on Windows, in most cases the console code page is also the ACP,

I'm not sure if these ever match. The console code page is 437 for me, and I
assume for mostly everyone else.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk