* cygerrno.h (geterrno_from_win_error): Change declaration to default to using

GetLastError and EACCESS.
* cygwin.din: Export readdir_r.
* include/cygwin/version.h: Bump API version number to 138.
* syscalls.cc (readdir_worker): New function, renamed from old readdir()
function.
(readdir): Use readdir_worker.
(readdir_r): New function.
* fhandler.h (fhandler_base::readdir): Accommodate second argument indicating
dirent buffer.
(fhandler_disk_file::readdir): Ditto.
(fhandler_cygdrive::readdir): Ditto.
(fhandler_proc::readdir): Ditto.
(fhandler_netdrive::readdir): Ditto.
(fhandler_registry::readdir): Ditto.
(fhandler_process::readdir): Ditto.
* fhandler.cc (fhandler_base::readdir): Ditto.
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Ditto.
* fhandler_cygdrive.cc (fhandler_cygdrive::readdir): Ditto.
* fhandler_proc.cc (fhandler_proc::readdir): Ditto.
* fhandler_netdrive.cc (fhandler_netdrive::readdir): Ditto.
* fhandler_registry.cc (fhandler_registry::readdir): Ditto.
* fhandler_process.cc (fhandler_process::readdir): Ditto.
This commit is contained in:
Christopher Faylor
2005-08-20 06:19:55 +00:00
parent 683ef95392
commit d9a2276435
13 changed files with 185 additions and 132 deletions

View File

@ -354,7 +354,7 @@ class fhandler_base
virtual int mkdir (mode_t mode);
virtual int rmdir ();
virtual DIR *opendir ();
virtual dirent *readdir (DIR *);
virtual int readdir (DIR *, dirent *) __attribute__ ((regparm (3)));
virtual _off64_t telldir (DIR *);
virtual void seekdir (DIR *, _off64_t);
virtual void rewinddir (DIR *);
@ -674,7 +674,7 @@ class fhandler_disk_file: public fhandler_base
int mkdir (mode_t mode);
int rmdir ();
DIR *opendir ();
struct dirent *readdir (DIR *);
int readdir (DIR *, dirent *) __attribute__ ((regparm (3)));
_off64_t telldir (DIR *);
void seekdir (DIR *, _off64_t);
void rewinddir (DIR *);
@ -692,7 +692,7 @@ class fhandler_cygdrive: public fhandler_disk_file
public:
fhandler_cygdrive ();
DIR *opendir ();
struct dirent *readdir (DIR *);
int readdir (DIR *, dirent *) __attribute__ ((regparm (3)));
void rewinddir (DIR *);
int closedir (DIR *);
int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2)));
@ -1202,7 +1202,7 @@ class fhandler_proc: public fhandler_virtual
public:
fhandler_proc ();
int exists();
struct dirent *readdir (DIR *);
int readdir (DIR *, dirent *) __attribute__ ((regparm (3)));
static DWORD get_proc_fhandler(const char *path);
int open (int flags, mode_t mode = 0);
@ -1215,7 +1215,7 @@ class fhandler_netdrive: public fhandler_virtual
public:
fhandler_netdrive ();
int exists();
struct dirent *readdir (DIR *);
int readdir (DIR *, dirent *) __attribute__ ((regparm (3)));
void seekdir (DIR *, _off64_t);
void rewinddir (DIR *);
int closedir (DIR *);
@ -1230,7 +1230,7 @@ class fhandler_registry: public fhandler_proc
public:
fhandler_registry ();
int exists();
struct dirent *readdir (DIR *);
int readdir (DIR *, dirent *) __attribute__ ((regparm (3)));
_off64_t telldir (DIR *);
void seekdir (DIR *, _off64_t);
void rewinddir (DIR *);
@ -1250,7 +1250,7 @@ class fhandler_process: public fhandler_proc
fhandler_process ();
int exists();
DIR *opendir ();
struct dirent *readdir (DIR *);
int readdir (DIR *, dirent *) __attribute__ ((regparm (3)));
int open (int flags, mode_t mode = 0);
int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2)));
bool fill_filebuf ();