| Thread overview | ||||||||
|---|---|---|---|---|---|---|---|---|
|
June 07, 2004 unicode filenames: std.stream.File and std.path.listdir | ||||
|---|---|---|---|---|
| ||||
Take this:
import std.stream;
void main ()
{
auto File f = new File("año",FileMode.In);
stdout.writeLine( f.readLine() );
}
If saved as 8-bit or UCS-2 (whatever that is), it doesn't work. In fact, it creates a new file named "año". But when saved as UTF-8 it works as expected.
The really bad part is that if instead I iterate over all the files (listdir(curdir)), it doesn't matter how I save it, it doesn't work anyway. Which means, the output from listdir can't be safely used with std.stream.File.
In conclusion, I believe that listdir should also return dchar [][] and wchar [][], and std.stream.File should accept wchar [] and dchar [] for filenames.
-----------------------
Carlos Santander Bernal
| ||||
June 08, 2004 Re: unicode filenames: std.stream.File and std.path.listdir | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Carlos Santander B. | The bug is that std.stream needs to do the unicode conversions on the filenames like the std.file functions do. BTW, thanks for thrashing this stuff for us. | |||
June 09, 2004 Re: unicode filenames: std.stream.File and std.path.listdir | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter | "Walter" <newshound@digitalmars.com> escribió en el mensaje news:ca3t1k$9ga$1@digitaldaemon.com | BTW, thanks for thrashing this stuff for us. No problem, I just try to help in any way I can. ----------------------- Carlos Santander Bernal | |||
June 09, 2004 (fix) Re: unicode filenames: std.stream.File and std.path.listdir | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Attachments: | "Walter" <newshound@digitalmars.com> escribió en el mensaje news:ca3t1k$9ga$1@digitaldaemon.com | The bug is that std.stream needs to do the unicode conversions on the | filenames like the std.file functions do. | | BTW, thanks for thrashing this stuff for us. Ok, this was easy. Attached is the fixed std.stream. Note the lines 1330-1336: those could be removed if std.file.useWfuncs was declared as package. ----------------------- Carlos Santander Bernal | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply