1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

Add fdopendir().

This commit is contained in:
Jeremy Allison 2011-02-08 14:43:07 -08:00
parent 5a0ee95b95
commit 1911d483e5
3 changed files with 18 additions and 0 deletions

View File

@ -1099,6 +1099,7 @@ AC_CHECK_FUNCS(lstat64 fopen64 atexit grantpt lseek64 ftruncate64 posix_fallocat
AC_CHECK_FUNCS(fallocate fallocate64)
AC_CHECK_FUNCS(fseek64 fseeko64 ftell64 ftello64 setluid getpwanam)
AC_CHECK_FUNCS(opendir64 readdir64 seekdir64 telldir64 rewinddir64 closedir64)
AC_CHECK_FUNCS(fdopendir fdopendir64)
AC_CHECK_FUNCS(getpwent_r)
AC_CHECK_FUNCS(getdents64)
AC_CHECK_FUNCS(setenv strcasecmp fcvt fcvtl)

View File

@ -890,6 +890,7 @@ int sys_open(const char *path, int oflag, mode_t mode);
FILE *sys_fopen(const char *path, const char *type);
void kernel_flock(int fd, uint32 share_mode, uint32 access_mask);
SMB_STRUCT_DIR *sys_opendir(const char *name);
SMB_STRUCT_DIR *sys_fdopendir(int fd);
SMB_STRUCT_DIRENT *sys_readdir(SMB_STRUCT_DIR *dirp);
void sys_seekdir(SMB_STRUCT_DIR *dirp, long offset);
long sys_telldir(SMB_STRUCT_DIR *dirp);

View File

@ -866,6 +866,22 @@ SMB_STRUCT_DIR *sys_opendir(const char *name)
#endif
}
/*******************************************************************
An fdopendir wrapper that will deal with 64 bit filesizes.
********************************************************************/
SMB_STRUCT_DIR *sys_fdopendir(int fd)
{
#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_FDOPENDIR64)
return fdopendir64(fd);
#elif defined(HAVE_FDOPENDIR)
return fdopendir(fd);
#else
errno = ENOSYS;
return NULL;
#endif
}
/*******************************************************************
A readdir wrapper that will deal with 64 bit filesizes.
********************************************************************/