mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-30 19:10:36 +08:00
* syscalls.cc (open): Handle O_DIRECTORY flag.
* include/fcntl.h: Add SUSv4 flags O_DIRECTORY, O_EXEC and O_SEARCH. * include/cygwin/version.h: Bump API minor number.
This commit is contained in:
parent
29915d8ef2
commit
64d6e1d43e
@ -1,3 +1,9 @@
|
|||||||
|
2009-02-11 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* syscalls.cc (open): Handle O_DIRECTORY flag.
|
||||||
|
* include/fcntl.h: Add SUSv4 flags O_DIRECTORY, O_EXEC and O_SEARCH.
|
||||||
|
* include/cygwin/version.h: Bump API minor number.
|
||||||
|
|
||||||
2009-02-09 Corinna Vinschen <corinna@vinschen.de>
|
2009-02-09 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* fhandler_floppy.cc (fhandler_dev_floppy::open): Fix format. Add
|
* fhandler_floppy.cc (fhandler_dev_floppy::open): Fix format. Add
|
||||||
|
@ -342,12 +342,13 @@ details. */
|
|||||||
191: Export glob_pattern_p
|
191: Export glob_pattern_p
|
||||||
192: CW_SETERRNO added
|
192: CW_SETERRNO added
|
||||||
193: Export wcstok.
|
193: Export wcstok.
|
||||||
|
194: fcntl.h flags O_DIRECTORY, O_EXEC and O_SEARCH added.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
|
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
|
||||||
|
|
||||||
#define CYGWIN_VERSION_API_MAJOR 0
|
#define CYGWIN_VERSION_API_MAJOR 0
|
||||||
#define CYGWIN_VERSION_API_MINOR 193
|
#define CYGWIN_VERSION_API_MINOR 194
|
||||||
|
|
||||||
/* There is also a compatibity version number associated with the
|
/* There is also a compatibity version number associated with the
|
||||||
shared memory regions. It is incremented when incompatible
|
shared memory regions. It is incremented when incompatible
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* fcntl.h
|
/* fcntl.h
|
||||||
|
|
||||||
Copyright 1996, 1998, 2001, 2005, 2006 Red Hat, Inc.
|
Copyright 1996, 1998, 2001, 2005, 2006, 2009 Red Hat, Inc.
|
||||||
|
|
||||||
This file is part of Cygwin.
|
This file is part of Cygwin.
|
||||||
|
|
||||||
@ -17,11 +17,16 @@ details. */
|
|||||||
/* sys/fcntl defines values up to 0x40000 (O_NOINHERIT). */
|
/* sys/fcntl defines values up to 0x40000 (O_NOINHERIT). */
|
||||||
#define _FDIRECT 0x80000
|
#define _FDIRECT 0x80000
|
||||||
#define _FNOFOLLOW 0x100000
|
#define _FNOFOLLOW 0x100000
|
||||||
|
#define _FDIRECTORY 0x200000
|
||||||
|
#define _FEXECSRCH 0x400000
|
||||||
|
|
||||||
#define O_DIRECT _FDIRECT
|
#define O_DIRECT _FDIRECT
|
||||||
#define O_NOFOLLOW _FNOFOLLOW
|
#define O_NOFOLLOW _FNOFOLLOW
|
||||||
#define O_DSYNC _FSYNC
|
#define O_DSYNC _FSYNC
|
||||||
#define O_RSYNC _FSYNC
|
#define O_RSYNC _FSYNC
|
||||||
|
#define O_DIRECTORY _FDIRECTORY
|
||||||
|
#define O_EXEC _FEXECSRCH
|
||||||
|
#define O_SEARCH _FEXECSRCH
|
||||||
|
|
||||||
#define POSIX_FADV_NORMAL 0
|
#define POSIX_FADV_NORMAL 0
|
||||||
#define POSIX_FADV_SEQUENTIAL 1
|
#define POSIX_FADV_SEQUENTIAL 1
|
||||||
|
@ -969,6 +969,12 @@ open (const char *unix_path, int flags, ...)
|
|||||||
res = -1;
|
res = -1;
|
||||||
set_errno (ELOOP);
|
set_errno (ELOOP);
|
||||||
}
|
}
|
||||||
|
else if ((flags & O_DIRECTORY) && !fh->pc.isdir ())
|
||||||
|
{
|
||||||
|
delete fh;
|
||||||
|
res = -1;
|
||||||
|
set_errno (ENOTDIR);
|
||||||
|
}
|
||||||
else if (((flags & (O_CREAT | O_EXCL)) == (O_CREAT | O_EXCL)) && fh->exists ())
|
else if (((flags & (O_CREAT | O_EXCL)) == (O_CREAT | O_EXCL)) && fh->exists ())
|
||||||
{
|
{
|
||||||
delete fh;
|
delete fh;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user