On 21 May 2015 at 17:36, Liviu Ionescu <i...@livius.net> wrote: > >> On 21 May 2015, at 18:54, Peter Maydell <peter.mayd...@linaro.org> wrote: >> >> On 21 May 2015 at 16:47, Liviu Ionescu <i...@livius.net> wrote: >>> >>>> On 21 May 2015, at 18:29, Peter Maydell <peter.mayd...@linaro.org> wrote: >>>> >>>> >>>> There's no way to not offer the choice. In your syntax >>>> this would be >>>> --semihosting-cmdline "foo bar baz" >>> >>> not exactly. in my implementation this would arrive in the guest >>> code as argc=1, argv[0]="foo bar baz", which will be understood as >>> a weird program name. >> >> Well, it's the same as --semihosting-options,arg="foo bar baz". >> That will arrive in the guest code as "foo bar baz", which >> the guest code may or may not choose to interpret as a >> program name foo and two arguments. > > negative. > > your example: > > ... --semihosting-options,arg="foo bar baz" ... > > will arrive in the guest code as: > > ['f' 'o' 'o' ' ' 'b' 'a' 'r' ' ' 'b' 'a' 'z'] > > which any non-brain damaged parser should understand as: > > argc=3, argv[0]="foo", argv[1]="bar", argv[2]="baz" > > while in my implementation a command line like: > > ... --semihosting-cmdline "foo bar baz" CR > > will arrive as: > > ['"' 'f' 'o' 'o' ' ' 'b' 'a' 'r' ' ' 'b' 'a' 'z' '"']
That's because your code is adding quotes, which I've already said I think is incorrect. If you took out the addition of quotes the two would be the same. -- PMM