X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
From: "Dave Korn" <dave.korn@artimi.com>
To: <cygwin@cygwin.com>
References: <18395872.post@talk.nabble.com> <0C260F619E428642BFA6380177C3ADF3067B484B@exmsea005.us.wamu.net>
Subject: RE: programming API to determine whether in "Cygwin environment"
Date: Fri, 11 Jul 2008 16:58:12 +0100
Message-ID: <002901c8e36e$ebd8c9a0$2708a8c0@CAM.ARTIMI.COM>
MIME-Version: 1.0
Content-Type: text/plain; 	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
In-Reply-To: <0C260F619E428642BFA6380177C3ADF3067B484B@exmsea005.us.wamu.net>
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@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

Karr, David wrote on 11 July 2008 16:34:

> The "ant" shell script checks to see if "`uname`" contains the string
> "CYGWIN".

  Won't help here:

>> -----Original Message-----
>> From: cygwin-owner On Behalf Of Tony Last
>> Sent: Thursday, July 10, 2008 8:49 PM

>> So I'm looking for a boolean method which will allow a
>> program to tell whether it was run from within a Cygwin
>> shell. 

  Invoking uname will return the same output regardless if you launch it
from bash or cmd.exe, so can't be used to tell the two apart.


  Frankly the best method is to use standard win32 functions to identify
your parent process, then either a) check if the name contains the substring
"sh.exe", or b) check if cygwin1.dll is mapped into the parent's address
space, depending on how robust against really unlikely false positives you
wanted to be.

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


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

