Bug #13573 ยป ruby24-fgetattrlist.diff
dir.c 2017-05-18 20:49:54.000000000 +0200 | ||
---|---|---|
#ifdef HAVE_GETATTRLIST
|
||
static int
|
||
#ifdef HAVE_FGETATTRLIST
|
||
is_case_sensitive(DIR *dirp)
|
||
#else
|
||
is_case_sensitive(const char *path)
|
||
#endif
|
||
{
|
||
struct {
|
||
u_int32_t length;
|
||
... | ... | |
const int idx = VOL_CAPABILITIES_FORMAT;
|
||
const uint32_t mask = VOL_CAP_FMT_CASE_SENSITIVE;
|
||
#if defined HAVE_FGETATTRLIST
|
||
if (fgetattrlist(dirfd(dirp), &al, attrbuf, sizeof(attrbuf), FSOPT_NOFOLLOW))
|
||
#elif defined HAVE_GETATTRLIST
|
||
if (getattrlist(path, &al, attrbuf, sizeof(attrbuf), FSOPT_NOFOLLOW))
|
||
#endif
|
||
return -1;
|
||
if (!(cap->valid[idx] & mask))
|
||
return -1;
|
||
... | ... | |
goto literally;
|
||
}
|
||
# endif
|
||
# ifdef HAVE_GETATTRLIST
|
||
# if defined HAVE_FGETATTRLIST || defined HAVE_GETATTRLIST
|
||
# ifdef HAVE_FGETATTRLIST
|
||
if (is_case_sensitive(dirp) == 0)
|
||
# else
|
||
if (is_case_sensitive(path) == 0)
|
||
# endif
|
||
flags |= FNM_CASEFOLD;
|
||
# endif
|
||
while ((dp = READDIR(dirp, enc)) != NULL) {
|