[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] XaAES: bug(s) in shel_write()



> Sigh ...

I still would like to see it being fixed. In my case i can only do that because i know that i only execute a specific tos program.

> Using ARGV should not produce any white-space-problems (I added them to 
> the arguments in the caller).

It does not matter what method is used. The arguments are passed to tw-call, which writes them to a shared memory area, then tells toswin to fetch them. It is toswin which is building a new commandline from this to execute the actual program, and there the arguments are not quoted when they fit in the 126 byte limit.

> I don't know what you want to achieve but I use spawn() from the mintlib 
> for example, but a simple Pexec should also work.

Its only used when the program runs as acessory on SingleTOS. You can't use Pexec() from accessories in this case.



Helmut Karlowski <helmut.karlowski@ish.de> schrieb am 22:25 Montag, 8.Februar 2016:


Am 08.02.2016, 19:32 Uhr, schrieb Thorsten Otto:

> Thanks for confirmation ;)

Of course I disagree for shel_write but too lazy to explain ;)

> BTW, in the meantime i'm not using shel_write() any more to start my

Sigh ...

BTW: I got it working since yesterday, but want to do some more tests.

> there is a lot of overhead in doing so: XaAES will execute tw-call, 
> which in turn executes toswin2, which then finally executes the actual

Unless toswin is already running.

> truncated -33 (ENOENT)). And finally, toswin2 seems to have a bug when 
> calling the executable: it does not use ARGV in all cases, and does not 
> quote the arguments in the commandline when they contain spaces. That 
> again causes the program to get incorrect arguments.

Using ARGV should not produce any white-space-problems (I added them to 
the arguments in the caller).

> trailing quote. Does anybody know a workaround for that? This does not 
> happen when using i.e. Teradesk as desktop.

I don't know what you want to achieve but I use spawn() from the mintlib 
for example, but a simple Pexec should also work.


-Helmut