X-Spam-Check-By: sourceware.org Date: Fri, 13 Jul 2007 15:06:20 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: if [ -w branching: how to spot a locked USB stick Message-ID: <20070713130620.GT6851@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <469715CF DOT 7090105 AT bonhard DOT uklinux DOT net> <46977404 DOT 6070105 AT byu DOT net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <46977404.6070105@byu.net> User-Agent: Mutt/1.4.2.2i Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 On Jul 13 06:45, Eric Blake wrote: > According to fergus on 7/13/2007 12:03 AM: > > if [ -w /h ] ; then echo +W ; else echo -W ; fi > > > > tests a device located at /h (or /cygdrive/h) for write-ability: eg a > > USB memory stick will echo +W and a CD will echo -W. If the stick is > > locked, however, you still get +W. > > Actually, this is a cygwin question. Bash's [ command only reports what > access("/h",W_OK) tells it to report, so the real question here is why > cygwin1.dll thinks that a locked USB stick is writable. And the answer > may be that either cygwin doesn't ask Windows the correct question (in > which case, http://cygwin.com/acronyms/#PTC), or that Windows lies (in > which case, there is no way to work around it). It's the latter. The fact that the USB stick is locked doesn't mean that the permission bits returned by the OS calls are augmented to reflect the fact that the stick is not writable. All permission bits are still intact. Only when actually trying to write to the device, you'll get the Win32 error message equivalent of EROFS. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- 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/