diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2012-01-20 12:53:26 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2012-01-20 12:53:26 +0000 |
commit | 5259273091c45c6338e3452f8571f32884f385e4 (patch) | |
tree | f7b795e4e6a88e11ede1b7b1f28f13a3c1941875 | |
parent | c3a549f6878359c9f5b950b58e16a1a2beed3290 (diff) | |
download | cygnal-5259273091c45c6338e3452f8571f32884f385e4.tar.gz cygnal-5259273091c45c6338e3452f8571f32884f385e4.tar.bz2 cygnal-5259273091c45c6338e3452f8571f32884f385e4.zip |
* fhandler.h (fhandler_registry::opendir): Declare.
* fhandler_registry.cc (fhandler_registry::opendir): New function.
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/fhandler.h | 1 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_registry.cc | 8 |
3 files changed, 14 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 35687b7fa..1ceba8b7b 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2012-01-20 Corinna Vinschen <corinna@vinschen.de> + + * fhandler.h (fhandler_registry::opendir): Declare. + * fhandler_registry.cc (fhandler_registry::opendir): New function. + 2012-01-13 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> * include/cygwin/config.h (_GLIBC_EXTENSION): Define. diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index e4ba58423..e3a71368d 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -1979,6 +1979,7 @@ class fhandler_registry: public fhandler_proc fhandler_registry (); void set_name (path_conv &pc); virtual_ftype_t exists(); + DIR *opendir (int fd) __attribute__ ((regparm (2))); int readdir (DIR *, dirent *) __attribute__ ((regparm (3))); long telldir (DIR *); void seekdir (DIR *, long); diff --git a/winsup/cygwin/fhandler_registry.cc b/winsup/cygwin/fhandler_registry.cc index 50233a886..5f6246439 100644 --- a/winsup/cygwin/fhandler_registry.cc +++ b/winsup/cygwin/fhandler_registry.cc @@ -537,6 +537,14 @@ fhandler_registry::fstat (struct __stat64 *buf) return 0; } +DIR * +fhandler_registry::opendir (int fd) +{ + /* Skip fhandler_proc::opendir, which allocates dir->_d_handle for its + own devilish purposes... */ + return fhandler_virtual::opendir (fd); +} + int fhandler_registry::readdir (DIR *dir, dirent *de) { |