see https://lwn.net/Articles/696469/, readdir_r() is deprecated by
glibc since 2.24. so let's use readdir() instead.
Signed-off-by: Kefu Chai <kchai@redhat.com>
{
struct stat st;
int r = 0;
- char buf[PATH_MAX*2];
- struct dirent *de;
DIR *dir;
char devname[PATH_MAX], fn[PATH_MAX];
char *p;
if (!dir)
return -errno;
- while (!::readdir_r(dir, reinterpret_cast<struct dirent*>(buf), &de)) {
- if (!de) {
- if (errno) {
- r = -errno;
- goto out;
- }
- break;
- }
+ struct dirent *de = nullptr;
+ while ((de = ::readdir(dir))) {
if (de->d_name[0] == '.')
continue;
snprintf(fn, sizeof(fn), "%s/sys/block/%s/%s", sandbox_dir, de->d_name,