Commmandline arguments and UTF8 error

Nils Hensel nils.hensel at web.de
Mon Feb 22 06:39:52 PST 2010


Daniel Keep schrieb:
> If you look at the real main function in src\phobos\internal\dmain2.d,
> you'll see this somewhere around line 109 (I'm using 1.051, but it's
> unlikely to be much different in an earlier version):
> 
>> for (size_t i = 0; i < argc; i++)
>> {
>>     auto len = strlen(argv[i]);
>>     am[i] = argv[i][0 .. len];
>> }
>>
>> args = am[0 .. argc];
>>
>> result = main(args);
> 
> In other words, Phobos never bothers to actually convert the arguments
> to UTF-8.

Hmm, I really can't see any benefit. Did Walter ever comment on this
matter? Surely, I can't be the only one who is unable to use D for
something as mundane as a command line tool that takes file names for
arguments?

> Tango does (tango\core\rt\compiler\dmd\rt\dmain2.d:238 for a recent-ish
> trunk).

Actually I was trying to avoid Tango. For one I'm not too fond of the
interface [Stdout.format(...).newline just seems awkward und
unnecessarily complicated compared to writef(...)]. Also, I use derelict
which I don't believe supports Tango yet. And I liked the
out-of-the-box-feeling of Phobos which is supposedly the standard.

Guess I have to make up my mind if all the extra hassle of installing
and learning (and updating) another and utterly different "standard"
library outweighs the benefits of developing in D.

Thanks a lot for your response!

Regards,
Nils


More information about the Digitalmars-d-learn mailing list