38 return strcmp((*a)->d_name, (*b)->d_name);
42 return strcasecmp((*a)->d_name, (*b)->d_name);
77 #if defined(WIN32) && !defined(__CYGWIN__) && !defined(HAVE_SCANDIR) 93 dirloc = (
char *)
malloc(dirlen + 1);
100 #elif defined(HAVE_SCANDIR_POSIX) && !defined(__APPLE__) 102 int n = scandir(dirloc, list, 0, (
int(*)(
const dirent **,
const dirent **))
sort);
103 #elif defined(__osf__) 108 int n = scandir(dirloc, list, 0, (
int(*)(
void*,
void*))
sort);
110 int n = scandir(dirloc, list, 0,
sort);
111 #elif defined(__APPLE__) 112 # if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_8 113 int n = scandir(dirloc, list, 0, (
int(*)(
const struct dirent**,
const struct dirent**))
sort);
115 int n = scandir(dirloc, list, 0, (
int(*)(
const void*,
const void*))
sort);
121 int n = scandir(dirloc, list, 0, (
int(*)(
const void*,
const void*))
sort);
133 memcpy(fullname, d, dirlen+1);
135 char *
name = fullname + dirlen;
136 if (
name!=fullname &&
name[-1]!=
'/')
139 for (i=0; i<n; i++) {
142 int len = strlen(de->d_name);
151 memcpy(newde, de, de->d_name - (
char*)de);
153 strcpy(newde->d_name, de->d_name);
162 memcpy(
name, de->d_name, len+1);
164 char *dst = newde->d_name + newlen;
194 for (i = 0; i < n; i ++) {