delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1996/04/21/04:38:15

Date: Sun, 21 Apr 1996 11:33:33 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: djgpp-workers AT delorie DOT com
Subject: Re: Spawning DOS programs
In-Reply-To: <Pine.SUN.3.91.960418121529.10058I-100000@is>
Message-Id: <Pine.SUN.3.91.960421112129.14512Y-100000@is>
Mime-Version: 1.0

Some more problems with spawning and command-line treatment:

	1) First, if POSIX says that argv[] passed to `execXX' should end 
up verbatim in the child's argv[], then this is not so in DJGPP, because 
the crt1 functions glob the arguments.  I don't think this is wrong, I 
just wanted to point out the deviation from POSIX.  If people think that 
this should be fixed, it's also not too hard; I can do it together with 
other enhancements to `system' and `dosexec' that I already did.

	2) There seems to be a bug in handling escaped quote characters by
the `parse_bytes' function (on c1args.c).  If it sees a quote escaped with
a backslash, it sets the `was_quoted' flag, and that argument isn't
expanded by filename-globbing mechanism.  This makes single-quote (')
special in filenames, and effectively prevents globbing on any such files. 
For instance, if you have files a'b and a'c, you cannot tell any DJGPP
program to work on "a\'*" and hope that both these files will be used.  
Is there anything that I missed here?

	3) The function `go32_exec' that tries to spawn DJGPP programs 
using !proxy, gives up if it doesn't find `go32.exe' on the PATH, and 
runs that program as a usual DOS executable (therefore losing the long 
command-lines feature).  Won't this preclude calling programs with 
embedded go32 with long commands, if go32 is nowhere to be found?

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019