Unconsistent command-line parsing in case of UTF-8 quoted arguments

Andrey Repin anrdaemon@yandex.ru
Wed Oct 7 01:10:19 GMT 2020


Greetings, Jérôme Froissart!
> Now, let's start a Windows shell (cmd.exe)

That explains it.
> Note that I had to copy cygwin1.dll from my Cygwin installation
> directory, otherwise binary.exe would not start.
> I do not know whether there is a `locale` equivalent in Windows

We've specifically asked to run Cygwin's /bin/locale.exe tool.
> command prompt, so I merely ran my program.
> C:\Users\Public>binary.exe "foo bar" "Jérôme"
> C=binary.exe "foo bar" "J□r□me"
> 0=binary
> 1=foo bar
> 2="Jérôme"

> This behaviour is not expected and is quite inconsistent with what
> happened through Bash.
> Besides the "strange squares" that appear on the first line, and the

1. Run CMD in a more capable terminal. Either M$ Terminal 1.0, or select true
type font for your console.
> extra space after binary.exe, I especially did not expect "Jérôme" to
> remain quoted as a second argument.

2. Then you are parsing the command line wrong. In Windows, it is up to called
program to parse the command line.
> Sorry for the delay in my answer. I hope this is now clear, please ask
> me for more examples or investigation if you need.
> Thanks for your help.

-- 
With best regards,
Andrey Repin
Wednesday, October 7, 2020 1:02:59
Sorry for my terrible english...


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /