Work around a persistent uClibc bug, since 0.9.29 still hasn't shipped.

Poked to do this by Jason Schoon.
This commit is contained in:
Rob Landley 2006-06-13 18:27:16 +00:00
parent 19a3940f15
commit 0960ca7383

View File

@ -197,17 +197,18 @@ static void find_dev(char *path)
return;
while ((entry = readdir(dir)) != NULL) {
struct stat st;
/* Skip "." and ".." (also skips hidden files, which is ok) */
if (entry->d_name[0] == '.')
continue;
if (entry->d_type == DT_DIR) {
snprintf(path+len, PATH_MAX-len, "/%s", entry->d_name);
find_dev(path);
path[len] = 0;
}
// uClibc doesn't fill out entry->d_type reliably. so we use lstat().
snprintf(path+len, PATH_MAX-len, "/%s", entry->d_name);
if (!lstat(path, &st) && S_ISDIR(st.st_mode)) find_dev(path);
path[len] = 0;
/* If there's a dev entry, mknod it */