Subject: Re: [boost] [nowide] Request for interest (nowide unicode support for windows)
From: Alexander Lamaison (awl03_at_[hidden])
Date: 2010-06-17 06:52:59
On Wed, 16 Jun 2010 23:50:39 -0700 (PDT), Artyom wrote:
>>> There are more. What about filesystem::remove and others?
>>> From what I see in the code, it supports only path and not wpath
>> Really? I doubt that. In FSv2 it takes a template path:
> I was talking about v3
v3 makes it even easier. Internally it always calls RemoveFileW on Windows
regardless is whether the path was created from a narrow or wide string.
>> Why? Boost.Filesystem v3 almost does all of this already. It would need
>> two changes to make it work exactly as you want:
>> - Interpret narrow strings as UTF-8 by default on Windows (the user
>> could always imbue it with the local code page facet if the really
>> wanted to interact with the 'A' versions of Windows APIs).
> This is not solution:
> Windows had never supported, does not support according to Lars Viklund
> links it seems like it will never be supported.
I think you misunderstood me. I meant Boost.Filesystem could interpret
narrow strings as UTF-8 by default on Windows. Then it can convert it and
store it internally as a wide string (it already does this) then its
operations, remove, fstream etc., can call the W versions of Windows API
function (which, again, it already does)
> So the only way to do the thing right is **always** use
> Wide API on windows and convert normal strings to wide one just before
> calling apropriate API functions.
Yes. Except that Filesystem handles this by converting immediately. It
makes little difference.
-- Easy SFTP for Windows Explorer (http://www.swish-sftp.org)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk