diff options
Diffstat (limited to 'winsup/cygwin/dir.cc')
-rw-r--r-- | winsup/cygwin/dir.cc | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc index e3fd896dc..0294c09ca 100644 --- a/winsup/cygwin/dir.cc +++ b/winsup/cygwin/dir.cc @@ -118,9 +118,8 @@ readdir (DIR *dir) return ((fhandler_base *) dir->__d_u.__d_data.__fh)->readdir (dir); } -/* telldir */ -extern "C" __off32_t -telldir (DIR *dir) +extern "C" __off64_t +telldir64 (DIR *dir) { if (check_null_invalid_struct_errno (dir)) return -1; @@ -130,9 +129,15 @@ telldir (DIR *dir) return ((fhandler_base *) dir->__d_u.__d_data.__fh)->telldir (dir); } -/* seekdir */ +/* telldir */ +extern "C" __off32_t +telldir (DIR *dir) +{ + return telldir64 (dir); +} + extern "C" void -seekdir (DIR *dir, __off32_t loc) +seekdir64 (DIR *dir, __off64_t loc) { if (check_null_invalid_struct_errno (dir)) return; @@ -142,6 +147,13 @@ seekdir (DIR *dir, __off32_t loc) return ((fhandler_base *) dir->__d_u.__d_data.__fh)->seekdir (dir, loc); } +/* seekdir */ +extern "C" void +seekdir (DIR *dir, __off32_t loc) +{ + seekdir64 (dir, (__off64_t)loc); +} + /* rewinddir: POSIX 5.1.2.1 */ extern "C" void rewinddir (DIR *dir) |