* cygwin.din (scandirat): Export.
* posix.sgml (std-gnu): Add scandirat. * syscalls.cc (scandirat): New function. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * include/sys/dirent.h (scandirat): Declare.
This commit is contained in:
parent
de6ebe0e8b
commit
e587f14b6f
|
@ -1,3 +1,11 @@
|
||||||
|
2012-02-21 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
||||||
|
|
||||||
|
* cygwin.din (scandirat): Export.
|
||||||
|
* posix.sgml (std-gnu): Add scandirat.
|
||||||
|
* syscalls.cc (scandirat): New function.
|
||||||
|
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
|
||||||
|
* include/sys/dirent.h (scandirat): Declare.
|
||||||
|
|
||||||
2012-02-21 Corinna Vinschen <corinna@vinschen.de>
|
2012-02-21 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
Based on an idea from Nick Lowe <nick.lowe@gmail.com>:
|
Based on an idea from Nick Lowe <nick.lowe@gmail.com>:
|
||||||
|
@ -165,7 +173,7 @@
|
||||||
Explain how and why.
|
Explain how and why.
|
||||||
* thread.h (PTHREAD_DEFAULT_STACKSIZE): Change definition. Explain why.
|
* thread.h (PTHREAD_DEFAULT_STACKSIZE): Change definition. Explain why.
|
||||||
|
|
||||||
2012-02-12 Yaakov Selkowitz <yselkowitz@users.sourceforg.net>
|
2012-02-12 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
||||||
|
|
||||||
* include/pthread.h: Include time.h as required by POSIX.
|
* include/pthread.h: Include time.h as required by POSIX.
|
||||||
|
|
||||||
|
|
|
@ -1406,6 +1406,7 @@ scalbnf NOSIGFE
|
||||||
_scalbnf = scalbnf NOSIGFE
|
_scalbnf = scalbnf NOSIGFE
|
||||||
scandir SIGFE
|
scandir SIGFE
|
||||||
_scandir = scandir SIGFE
|
_scandir = scandir SIGFE
|
||||||
|
scandirat SIGFE
|
||||||
scanf SIGFE
|
scanf SIGFE
|
||||||
_scanf = scanf SIGFE
|
_scanf = scanf SIGFE
|
||||||
scanf_r = _scanf_r SIGFE
|
scanf_r = _scanf_r SIGFE
|
||||||
|
|
|
@ -428,12 +428,13 @@ details. */
|
||||||
257: Export getpt.
|
257: Export getpt.
|
||||||
258: Export get_current_dir_name.
|
258: Export get_current_dir_name.
|
||||||
259: Export pthread_sigqueue.
|
259: Export pthread_sigqueue.
|
||||||
|
260: Export scandirat.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* 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 259
|
#define CYGWIN_VERSION_API_MINOR 260
|
||||||
|
|
||||||
/* 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 @@
|
||||||
/* Posix dirent.h for WIN32.
|
/* Posix dirent.h for WIN32.
|
||||||
|
|
||||||
Copyright 2001, 2002, 2003, 2005, 2006, 2007, 2010 Red Hat, Inc.
|
Copyright 2001, 2002, 2003, 2005, 2006, 2007, 2010, 2012 Red Hat, Inc.
|
||||||
|
|
||||||
This software is a copyrighted work licensed under the terms of the
|
This software is a copyrighted work licensed under the terms of the
|
||||||
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||||
|
@ -69,6 +69,10 @@ int scandir (const char *__dir,
|
||||||
int (*select) (const struct dirent *),
|
int (*select) (const struct dirent *),
|
||||||
int (*compar) (const struct dirent **, const struct dirent **));
|
int (*compar) (const struct dirent **, const struct dirent **));
|
||||||
|
|
||||||
|
int scandirat (int __dirfd, const char *__dir, struct dirent ***__namelist,
|
||||||
|
int (*select) (const struct dirent *),
|
||||||
|
int (*compar) (const struct dirent **, const struct dirent **));
|
||||||
|
|
||||||
int alphasort (const struct dirent **__a, const struct dirent **__b);
|
int alphasort (const struct dirent **__a, const struct dirent **__b);
|
||||||
#ifdef _DIRENT_HAVE_D_TYPE
|
#ifdef _DIRENT_HAVE_D_TYPE
|
||||||
/* File types for `d_type'. */
|
/* File types for `d_type'. */
|
||||||
|
|
|
@ -1136,6 +1136,7 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
|
||||||
pthread_sigqueue
|
pthread_sigqueue
|
||||||
ptsname_r
|
ptsname_r
|
||||||
removexattr
|
removexattr
|
||||||
|
scandirat
|
||||||
setxattr
|
setxattr
|
||||||
strchrnul
|
strchrnul
|
||||||
sysinfo
|
sysinfo
|
||||||
|
|
|
@ -39,6 +39,7 @@ details. */
|
||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
|
#include <dirent.h>
|
||||||
#include "ntdll.h"
|
#include "ntdll.h"
|
||||||
|
|
||||||
#undef fstat
|
#undef fstat
|
||||||
|
@ -4436,6 +4437,21 @@ renameat (int olddirfd, const char *oldpathname,
|
||||||
return rename (oldpath, newpath);
|
return rename (oldpath, newpath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" int
|
||||||
|
scandirat (int dirfd, const char *pathname, struct dirent ***namelist,
|
||||||
|
int (*select) (const struct dirent *),
|
||||||
|
int (*compar) (const struct dirent **, const struct dirent **))
|
||||||
|
{
|
||||||
|
tmp_pathbuf tp;
|
||||||
|
myfault efault;
|
||||||
|
if (efault.faulted (EFAULT))
|
||||||
|
return -1;
|
||||||
|
char *path = tp.c_get ();
|
||||||
|
if (gen_full_path_at (path, dirfd, pathname))
|
||||||
|
return -1;
|
||||||
|
return scandir (pathname, namelist, select, compar);
|
||||||
|
}
|
||||||
|
|
||||||
extern "C" int
|
extern "C" int
|
||||||
symlinkat (const char *oldpath, int newdirfd, const char *newpathname)
|
symlinkat (const char *oldpath, int newdirfd, const char *newpathname)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue