X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=1.3 required=5.0	tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW
X-Spam-Check-By: sourceware.org
Received-SPF: pass (google.com: domain of nick.lowe@gmail.com designates 10.52.23.5 as permitted sender) client-ip=10.52.23.5;
Authentication-Results: mr.google.com; spf=pass (google.com: domain of nick.lowe@gmail.com designates 10.52.23.5 as permitted sender) smtp.mail=nick.lowe@gmail.com; dkim=pass header.i=nick.lowe@gmail.com
MIME-Version: 1.0
In-Reply-To: <CADSoG1v5skh+gsKmBfVSbykA+AXHJjJEs+oTWsjSav04BvUNzg@mail.gmail.com>
References: <CADSoG1so=3KxR5TS6mVNRhZGkdUku42Y=S3eWV0dtDgiZE8Tww@mail.gmail.com>	<CADSoG1uVEpxOSxAm2ZtbzE9oh95TcAQYkj_YRAZxP0tL8-3uDQ@mail.gmail.com>	<CADSoG1v5skh+gsKmBfVSbykA+AXHJjJEs+oTWsjSav04BvUNzg@mail.gmail.com>
Date: Tue, 21 Feb 2012 09:52:54 +0000
Message-ID: <CADSoG1uBYBYYW6K+XS-N3ouQN3-x7dYWzR5vQ16DaR2WShd45Q@mail.gmail.com>
Subject: Re: shared_info::init_obcaseinsensitive implemented incorrectly
From: Nick Lowe <nick.lowe@gmail.com>
To: cygwin@cygwin.com
Content-Type: text/plain; charset=ISO-8859-1
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

OK, fair enough, it is an edge case... I am a stickler for correctness! :P

Looking at previous threads though actually, I notice that the
following is documented by Microsoft regarding the obcaseinsensitive
value:

"If this setting is enabled, case insensitivity is enforced for all
directory objects, symbolic links, and IO objects, including file
objects. Disabling this setting does not allow the Win32 subsystem to
become case sensitive."

You could just get away with therefore, in theory, a call to
NtOpenSymbolicLinkObject for \SYSTEMROOT. If it fails because it
cannot be found, you know that the system is running with case
sensitivity, otherwise, it is case sensitive.

Regards,

Nick

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

