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]

cygstart regression [Was: Re: on the road to 1.5.19 - snapshot testing needed]


Christopher Faylor wrote:
On Fri, Sep 30, 2005 at 09:17:06AM -0600, Aaron Humphrey wrote:

I just did some version testing on the cygstart .mdb problem I reported a few
days ago(http://cygwin.com/ml/cygwin/2005-09/msg00923.html), and it is
indeed a regression from 1.5.18.  Cygstart works fine with 1.5.18, but as
early as the 20050909 snapshot(as far back as I have)it fails on MDB files.


Sorry but I don't have Microsoft Access so I can't check this.  I don't consider
this a show-stopper either, unfortunately.

cygstart comes from cygutils.  I don't remember the genesis of this
utility (just because it is in cygutils doesn't mean that Chuck is
responsible for it) but it would be nice if the person who supports this
utility would comment here.

cygstart was contributed by Michael Schapp, who is still around but doesn't post often. cygstart, aside from its option handling, is a very simple app. The core routine just uses the Windows 'ShellExecute' function on the specified file. Windows is then responsible for looking up the associated application in the registry, starting it, and causing it to load the specified file. I don't see how anything in cygwin itself can affect that.


The ONLY thing I can think of is changes in path handing (conversion between 'unix' and 'windows') as cygstart tries to prepare the target file's pathname for passing into the ShellExecute function -- variable name 'aPath' in the code below.

But I'll defer to Michael for futher analysis.

--
Chuck



static int winStart(const char *aPath, const char *action, const char *args,
                    const char *workDir, int show)
{
    int ret;

setup_win_environ();

    ret = (int) ShellExecute(NULL, action, aPath, args, workDir, show);
    if (ret >= 32) {
        return TRUE;
    } else {
        printf("Unable to start '%s': %s\n", aPath, startError(ret));
        return FALSE;
    }
}


-- 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]