This is the mail archive of the
mailing list for the Cygwin project.
Re: Different behaviour of "test -f" under cmd and bash, when called from compiled App
- From: "Luis Torres" <luis dot torres at igm dot pt>
- To: "Brian Ford" <ford at vss dot fsi dot com>, "Luis Torres" <torres2003 at sapo dot pt>
- Cc: "cygwin at cygwin dot com" <cygwin at cygwin dot com>
- Date: Thu, 11 Dec 2003 11:41:47 +0000
- Subject: Re: Different behaviour of "test -f" under cmd and bash, when called from compiled App
Thans for the hint. I have not tested it out, but it suggested me a way to handle the problem, and
was quite helpful. In fact the whole issue was because I wanted to get a Java application that relies
on Cygwin compiled code, symbolic links and shell scripts, to work [number 1)- you stripped off ...].
That is Java provides the graphical interface but i/o is dealt with by Unix code.
In fact I discovered the commands test -f issued from a program compiled for Cygwin, while not working
under cmd.exe, caused no problem when the program was invoked from Java, so made no changes in
the code. What caused problems were the scripts and symbolic links: so if the scripts are compiled using
sch-3.2-tgz (from Rosales) into *.exe files and the symbolic links replaced by *.exe files things work.
There is a more complex construct in the code - a program that dynamically pipes to and runs a script
(which I compiled), which I on't now if it works. But for the stand alones it works fine.
On Tue, 9 Dec 2003 16:40:24 -0600 (CST), Brian Ford wrote:
>On Tue, 9 Dec 2003, Luis Torres wrote:
>> 2) In relation to the above I tracked the following problem. If I use (interactive shell):
>> test -f AfileIKnowExists && echo YES (under either cmd.exe or Cygwin/bash), I get the correct answer
>> (test.exe from /cygdrive/c/cygwin/bin as per official distribution)
>> while if I use the code bellow within a program.exe compiled under Cygwin, I get the correct answer if
>> I use it within bash but NOT the correct answer if I use the program in cmd.exe
>> Code : "
>> strcpy(command,"test -f ");
>> fprintf(stderr,"Executing %s\n", command);
>I don't see the problem right off, but HTH.
>This will do:
>/bin/sh -c command
>Also, sh is ash.
>With a command argument, the result of `system' is the exit
>status returned by `/bin/sh'.
>Senior Realtime Software Engineer
>VITAL - Visual Simulation Systems
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html