This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Calling a cygwin binary from CreateProcess - problem with redirection


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]