delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-apps/2000/07/16/00:38:43

Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm
Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com
List-Subscribe: <mailto:cygwin-apps-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-apps/>
List-Post: <mailto:cygwin-apps AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-apps-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/lists.html#faqs>
Delivered-To: mailing list cygwin-apps AT sources DOT redhat DOT com
Date: Sun, 16 Jul 2000 00:38:24 -0400
From: Chris Faylor <cgf AT cygnus DOT com>
To: Robert Collins <robert DOT collins AT itdomain DOT com DOT au>
Cc: cygapp <cygwin-apps AT sourceware DOT cygnus DOT com>
Subject: Re: two questions
Message-ID: <20000716003824.A8880@cygnus.com>
Reply-To: cygwin-apps AT sourceware DOT cygnus DOT com
Mail-Followup-To: Robert Collins <robert DOT collins AT itdomain DOT com DOT au>,
cygapp <cygwin-apps AT sourceware DOT cygnus DOT com>
References: <004801bfeed8$5a75f610$f7c723cb AT lifelesswks> <20000715234510 DOT A8476 AT cygnus DOT com> <005c01bfeede$10604c00$f7c723cb AT lifelesswks>
Mime-Version: 1.0
User-Agent: Mutt/1.2i
In-Reply-To: <005c01bfeede$10604c00$f7c723cb@lifelesswks>; from robert.collins@itdomain.com.au on Sun, Jul 16, 2000 at 02:26:50PM +1000

On Sun, Jul 16, 2000 at 02:26:50PM +1000, Robert Collins wrote:
>Sorry, I should explain more
>
>exec("C:/cygwin/usr/local/program.exe") fails
>exec("C:\\cygwin\usr\local\program.exe") works (\\ c-style escaped)
>
>and program.exe receives the first format from start|run, and from
>shortcuts, or double-clicking on a program. So having a program that calls
>exec based in it's own path will need an library call equivalent to
>cygpath -u (which looks to be cygwin_conv_to_posix_path(name,
>convertedname), or for argv[0] to be a little more consistent.

'exec' is not a cygwin function.  Maybe this function is having problems
with the path that you are specifying above.

The 'exec[lv]*' family of functions should (and as far as I can tell,
do) operate correctly with any valid windows or cygwin path.

The short program below illustrates this:

#include <stdio.h>

int
main (int argc, char **argv)
{
  fprintf (stderr, "argv[0] '%s', argv[1] '%s'\n", argv[0], argv[1]);
  sleep(10);
  execl (argv[1], argv + 2);
}

When I run this from Start->Run I notice that argv[0] has quotes around
it, unlike what happens when running from the command shell.  Cygwin was
preserving the quotes and that thwarts its later attempt to translate
the windows path version of argv[0] into a posix path.  I've checked in
a change to cygwin to cause it to strip the quotes from argv[0].

So, I'm not sure why you are having problems running the
c:/cygwin/usr/local/program.exe.  It works for me, and I would expect
that it would.

cgf

>I've put cygwin_conv_to_posix_path in the program I'm working on, All i'm
>saying is that a longer term solution might be to put something in the
>startup code..
>
>Rob
>
>
>----- Original Message -----
>From: "Chris Faylor" <cgf AT cygnus DOT com>
>To: "cygapp" <cygwin-apps AT sourceware DOT cygnus DOT com>
>Sent: Sunday, July 16, 2000 1:45 PM
>Subject: Re: two questions
>
>
>> On Sun, Jul 16, 2000 at 01:45:56PM +1000, Robert Collins wrote:
>> >1)Start|run, c:\cygwin\usr\local\program.exe
>> >2)start|run, cmd (running win2k). then (from any drive)
>> >"c:\cygwin\usr\local\program.exe"
>> >
>> >in 1, argv[0] is C:/cygwin/usr/local/program.exe
>> >in 2, argv[0] is /usr/local/program.exe
>> >
>> >Note that bash was not the shell in 2! I'm quite happy to code around
>this
>> >myself, but if someone wanted to provide a pointer as to where I should
>> >place it I'm happy to code around it for cygwin..
>> >
>> >The reason it's a issue, is that I want to call
>exec(argv[0],newswitches),
>> >which the above behaviour scuttles..
>>
>> Why?
>>
>> cgf
>>

-- 
cgf AT cygnus DOT com                        Cygnus Solutions, a Red Hat company
http://sourceware.cygnus.com/         http://www.redhat.com/

- Raw text -


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