X-Spam-Check-By: sourceware.org
X-ME-UUID: 20070103235552978.EEC9C1C00082@mwinf3009.me.freeserve.com
Message-ID: <002101c72f9a$84da0c20$d4d94c51@default>
From: "Ciarán Ó Duibhín" <ciaran@oduibhin.freeserve.co.uk>
To: <cygwin@cygwin.com>
References: <000b01c72ba8$f99d8aa0$78d94c51@default> <Pine.GSO.4.63.0612292136130.27982@access1.cims.nyu.edu>
Subject: Re: Calling a cygwin binary from CreateProcess - problem with redirection
Date: Thu, 4 Jan 2007 00:51:48 -0000
MIME-Version: 1.0
Content-Type: text/plain; 	charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-Mailer: Microsoft Outlook Express 5.50.4807.1700
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

Igor Peshansky wrote:

> Ciarán Ó Duibhín wrote:
> > Hi,
> >
> > I have no experience with cygwin, but I downloaded a Windows .exe which
> > is a unix program compiled for Windows with cygwin.  Several cygwin
> > dll's are included.
> >
> > I can run this program from the DOS command line.
> > An example command line is:
> > c:\progra~1\freeli~1.4\analyzer -f data\config\en.cfg < c:\split.txt >
> > new.txt
> >
> > But I would like to launch it from another Windows application - a
> > graphic interface I am writing for it, in fact.  However, when I supply
> > the above command line to the Windows CreateProcess function as the
> > lpCommandLine parameter, I get the error message
> > "CONFIG_OPTIONS: Error -11 parsing command line.
> >    unknown option '' at position 4 in command line"
> > ie. the redirection symbol <.  It doesn't matter whether or not there is
> > a space after the redirection symbol.
> >
> > This is the same error message as produced when a commandline parameter
> > which is genuinely in error is supplied to the program, so it seems that
> > the combination of CreateProcess and cygwin is passing the redirection
> > parameter to the program in some mutated form, whereas it arrives
> > correctly from the command line.
>
> Ciarán,
>
> CreateProcess() is not a shell -- it will pass all arguments (including
> your redirection specifiers) to the program.  This is not a
> Cygwin-specific problem -- you would have gotten the same errors with a
> pure Windows executable.
>
> You might want to read up on the arguments to CreateProcess on MSDN
> (especially the input/output handles in the STARTUPINFO structure).  If
> you have further questions, a Windows-specific list might be a better
> venue.

Thanks, Igor, that is correct of course.

A Google search for "CreateProcess" and "redirection" produced quite a lot
of information, and now my graphic interface is calling the (cygwin, as it
just happens) binary without any problems.

Ciarán.



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

