delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/09/18/11:36:33

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Date: Tue, 18 Sep 2001 17:35:23 +0200
From: Corinna Vinschen <cygwin AT cygwin DOT com>
To: cygwin <cygwin AT cygwin DOT com>
Subject: Re: cygwin 1.3.3 - fchdir() problem?
Message-ID: <20010918173523.D28304@cygbert.vinschen.de>
Mail-Followup-To: cygwin <cygwin AT cygwin DOT com>
References: <009101c13f9d$e694a080$5c6706d5 AT uhs> <20010917135636 DOT A22751 AT redhat DOT com> <000901c13fb3$667abc20$35e606d5 AT uhs> <20010917222901 DOT I10081 AT cygbert DOT vinschen DOT de> <00a101c14031$7a3bd040$816136d5 AT uhs>
Mime-Version: 1.0
User-Agent: Mutt/1.2.5i
In-Reply-To: <00a101c14031$7a3bd040$816136d5@uhs>; from usteinfeld@gmx.net on Tue, Sep 18, 2001 at 12:50:12PM +0200

On Tue, Sep 18, 2001 at 12:50:12PM +0200, Uwe H. Steinfeld wrote:
> open (somedir, O_RDONLY) always gives error 13 (permission denied) if
> somedir exists, and error 2 (no such file or directory) otherwise.
> 
> This is standard Win32 (mis-)behavior. From MS documentation:
> A return value of -1 indicates an error, in which case errno is set to one
> of the following values:
> EACCES Tried to open read-only file for writing, or file's sharing mode does
> not allow specified operations, or given path is directory

Also quoted from MSDN:

    Windows NT/2000 or later: You can obtain a handle to a directory by
    setting the FILE_FLAG_BACKUP_SEMANTICS flag. A directory handle can
    be passed to some functions in place of a file handle.

Did you actually try it using the below test application in Cygwin?
Or are you talking about 9x?  Then you've lost, naturally.

Corinna

> 
> Danke
> Uwe
> 
> ----- Original Message -----
> From: "Corinna Vinschen" <cygwin AT cygwin DOT com>
> To: <cygwin AT cygwin DOT com>
> Sent: Monday, September 17, 2001 10:29 PM
> Subject: Re: cygwin 1.3.3 - fchdir() problem?
> 
> 
> > On Mon, Sep 17, 2001 at 09:59:30PM +0200, Uwe H. Steinfeld wrote:
> > > I tracked my problem down to the following:
> > > when fchdir is defined and the directory to be created or removed is not
> a
> > > subdirectory of the current working directory, fileutils try to do an
> > >     open (".", O_RDONLY | O_DIRECTORY)
> > > and that is never successful in Cygwin/Win32.
> >
> > Beep! Try this:
> >
> >     #include <stdio.h>
> >     #include <errno.h>
> >     #include <sys/fcntl.h>
> >
> >     int
> >     main (int argc, char **argv)
> >     {
> >       int fd;
> >
> >       if ((fd = open (".", O_RDONLY)) < 0)
> > printf ("NOPE: %d\n", errno);
> >       else
> > {
> >   printf ("YEP\n");
> >   close (fd);
> > }
> >       return 0;
> >     }
> >
> > O_DIRECTORY isn't defined on Cygwin.  According to the Linux man
> > pages it's a Linux invention to avoid denial-of-service problems
> > with opendir().  Especially it "should not be used outside of the
> > implementation of opendir."
> >
> > Corinna
> 
> 
> 
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin AT cygwin DOT com
Red Hat, Inc.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019