X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f Date: Fri, 01 Oct 2004 21:58:18 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: djgpp AT delorie DOT com Message-ID: <01c4a7f1$Blat.v2.2.2$24f046e0@zahav.net.il> Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=ISO-8859-1 X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 2.2.2 In-reply-to: (rafael_no_spam_no_ AT geninfor DOT com) Subject: Re: system() return value if no program present References: <01c49d67$Blat.v2.2.2$625a64a0 AT zahav DOT net DOT il> <42da7100 DOT 0409200424 DOT 59601f01 AT posting DOT google DOT com> <01c49f48$Blat.v2.2.2$03122900 AT zahav DOT net DOT il> <42da7100 DOT 0409210019 DOT 1af1c09d AT posting DOT google DOT com> <01c4a00c$Blat.v2.2.2$f8f56520 AT zahav DOT net DOT il> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: "=?windows-1252?Q?Rafael_Garc=EDa?=@unknown.addr" > > Date: Fri, 01 Oct 2004 12:37:33 +0200 > > I have found the same problem in another computer and I have found that > this only happens when an environment variable "SHELL" is defined. If I > undefined it, no interactive shell is launched. > > set SHELL= > - system("grep")=2 and works as expected > - system("notexist")=0 and works as expected ("not found") > - system("dir")=0 and works as expected > > set SHELL=cmd > - system("grep")=2 and works as expected > - system("notexist")=-1 and works as expected ("not found") > - system("dir")=-1 and it does nothing (why?) > > set SHELL=c:\wtsrv\system32\cmd.exe (correct path) > - system("grep")=2 and works as expected > - system("notexist") runs interactive shell and then returns 0 (why?) > (this was what begun my question) > - system("dir") runs interactive shell and then returns 0 (why?) It seems that in DJGPP v2.03, cmd.exe is not treated as a DOS shell, so `system' thinks it is a Unix-like shell. That's a bug, I think. Therefore, I suggest to set SHELL to command.com, not to cmd.exe. Do the problems go away in that case?