Mail Archives: djgpp-workers/1996/08/11/05:47:44
On Mon, 29 Jul 1996, DJ Delorie wrote:
> > How can this be backward-compatible if the old crt0 doesn't know about
> > the new method? I thought about this but didn't find any acceptable
> > solution. But I will be glad to hear any ideas on this.
>
> Pass the 128-char command line the regular way. Provide a hook (4dos
> way?) that points to a 4k-char command line. Don't use !proxy.
OK, I went back to the drawing board and now I have such a version of
`system'. The long command lines from `system' are passed via environment
variable called " !proxy" (lower-cased and with the leading blank) and are
expanded just like if they were coming from the DOS command-line tail;
`spawn' passes its command lines via !proxy on the command line, as it
does now, and these arguments aren't expanded. This required a change to
c1args.c (which was the reason I didn't do it in the first place).
Just a few questions so I could wrap up this adventure and mail the new
sources:
1) The GNUish MSDOS method of passing long command lines (`_argc',
`_arv0', etc. in the environment) is no longer supported. Shame on me
for only seeing it now. I presume it's on purpose (coad bloat and such)
and due to lack of use, right?
2) The startup flags that deal with the way argv[0] will look
like are only applied to __dos_argv0, argv[0] that comes from !proxy
avoids this conversion. Is this on purpose? If not, it's easy to fix, I
just want to know I don't break something by doing this.
- Raw text -