X-Spam-Check-By: sourceware.org Message-ID: <457EAD4F.1000605@mscha.nl> Date: Tue, 12 Dec 2006 14:23:27 +0100 From: Michael Schaap Reply-To: cygwin AT cygwin DOT com User-Agent: Thunderbird 1.5.0.8 (Windows/20061025) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: cygstart getting The specified file was not found References: <457E0CB8 DOT 5070002 AT mscha DOT nl> <20061212082036 DOT GY9829 AT calimero DOT vinschen DOT de> In-Reply-To: <20061212082036.GY9829@calimero.vinschen.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Corinna Vinschen wrote: > > Does cygstart use CreateProcess and/or GetCurrentDirectory instead of > fork/exec/getcwd? > > If so, cygstart will have to call cygwin_internal(CW_SYNC_WINENV) before > using the native Windows functions. > No, it uses ShellExecute (see "cygstart --reference"). It does indeed need to sync the environment, but it does this using its own code. (Predates cygwin_internal(CW_SYNC_WINENV); I still need to change cygstart some day to use it.) However, this is unrelated to this problem, things go wrong long before that. It appears that cygwin_conv_to_win32_path incorrectly determines the current working directory. It is called as follows: cygwin_conv_to_win32_path(aPath, winPath); where aPath == "hello.txt". The current directory is "/cygdrive/c/user" =~ "c:\user", but cygwin_conv_to_win32_path thinks that: normalize_posix_path: /cygdrive/c/WINDOWS/system32/hello.txt = normalize_posix_path (hello.txt) (See Eric's messages for more debugging info.) - Michael -- 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/