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]

Re: if [ -w branching: how to spot a locked USB stick


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]