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