Skip to content

Commit

Permalink
Merge pull request #1118 from brauner/2016-08-09/remove_readdir_r
Browse files Browse the repository at this point in the history
tree-wide: replace readdir_r() with readdir()
  • Loading branch information
hallyn committed Aug 11, 2016
2 parents baecb85 + 74f9697 commit e00456c
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 43 deletions.
4 changes: 2 additions & 2 deletions src/lxc/bdev/lxcloop.c
Expand Up @@ -269,7 +269,7 @@ static int do_loop_create(const char *path, uint64_t size, const char *fstype)

static int find_free_loopdev_no_control(int *retfd, char *namep)
{
struct dirent dirent, *direntp;
struct dirent *direntp;
struct loop_info64 lo;
DIR *dir;
int fd = -1;
Expand All @@ -279,7 +279,7 @@ static int find_free_loopdev_no_control(int *retfd, char *namep)
SYSERROR("Error opening /dev");
return -1;
}
while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {

if (!direntp)
break;
Expand Down
23 changes: 4 additions & 19 deletions src/lxc/cgroups/cgfs.c
Expand Up @@ -157,7 +157,7 @@ static struct cgroup_ops cgfs_ops;

static int cgroup_rmdir(char *dirname)
{
struct dirent dirent, *direntp;
struct dirent *direntp;
int saved_errno = 0;
DIR *dir;
int ret, failed=0;
Expand All @@ -169,7 +169,7 @@ static int cgroup_rmdir(char *dirname)
return -1;
}

while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {
struct stat mystat;
int rc;

Expand Down Expand Up @@ -2067,26 +2067,14 @@ static bool cgroup_devices_has_allow_or_deny(struct cgfs_data *d,
static int cgroup_recursive_task_count(const char *cgroup_path)
{
DIR *d;
struct dirent *dent_buf;
struct dirent *dent;
ssize_t name_max;
int n = 0, r;

/* see man readdir_r(3) */
name_max = pathconf(cgroup_path, _PC_NAME_MAX);
if (name_max <= 0)
name_max = 255;
dent_buf = malloc(offsetof(struct dirent, d_name) + name_max + 1);
if (!dent_buf)
return -1;

d = opendir(cgroup_path);
if (!d) {
free(dent_buf);
if (!d)
return 0;
}

while (readdir_r(d, dent_buf, &dent) == 0 && dent) {
while ((dent = readdir(d))) {
const char *parts[3] = {
cgroup_path,
dent->d_name,
Expand All @@ -2100,13 +2088,11 @@ static int cgroup_recursive_task_count(const char *cgroup_path)
sub_path = lxc_string_join("/", parts, false);
if (!sub_path) {
closedir(d);
free(dent_buf);
return -1;
}
r = stat(sub_path, &st);
if (r < 0) {
closedir(d);
free(dent_buf);
free(sub_path);
return -1;
}
Expand All @@ -2122,7 +2108,6 @@ static int cgroup_recursive_task_count(const char *cgroup_path)
free(sub_path);
}
closedir(d);
free(dent_buf);

return n;
}
Expand Down
8 changes: 4 additions & 4 deletions src/lxc/cgroups/cgfsng.c
Expand Up @@ -907,15 +907,15 @@ static char *must_make_path(const char *first, ...)

static int cgroup_rmdir(char *dirname)
{
struct dirent dirent, *direntp;
struct dirent *direntp;
DIR *dir;
int r = 0;

dir = opendir(dirname);
if (!dir)
return -1;

while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {
struct stat mystat;
char *pathname;

Expand Down Expand Up @@ -1367,7 +1367,7 @@ static bool cgfsng_mount(void *hdata, const char *root, int type)

static int recursive_count_nrtasks(char *dirname)
{
struct dirent dirent, *direntp;
struct dirent *direntp;
DIR *dir;
int count = 0, ret;
char *path;
Expand All @@ -1376,7 +1376,7 @@ static int recursive_count_nrtasks(char *dirname)
if (!dir)
return 0;

while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {
struct stat mystat;

if (!direntp)
Expand Down
4 changes: 2 additions & 2 deletions src/lxc/conf.c
Expand Up @@ -510,7 +510,7 @@ static int setup_lodev(const char *rootfs, int fd, struct loop_info64 *loinfo)
static int mount_rootfs_file(const char *rootfs, const char *target,
const char *options)
{
struct dirent dirent, *direntp;
struct dirent *direntp;
struct loop_info64 loinfo;
int ret = -1, fd = -1, rc;
DIR *dir;
Expand All @@ -522,7 +522,7 @@ static int mount_rootfs_file(const char *rootfs, const char *target,
return -1;
}

while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {

if (!direntp)
break;
Expand Down
4 changes: 2 additions & 2 deletions src/lxc/confile.c
Expand Up @@ -1805,7 +1805,7 @@ int append_unexp_config_line(const char *line, struct lxc_conf *conf)

static int do_includedir(const char *dirp, struct lxc_conf *lxc_conf)
{
struct dirent dirent, *direntp;
struct dirent *direntp;
DIR *dir;
char path[MAXPATHLEN];
int ret = -1, len;
Expand All @@ -1816,7 +1816,7 @@ static int do_includedir(const char *dirp, struct lxc_conf *lxc_conf)
return -1;
}

while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {
const char *fnam;
if (!direntp)
break;
Expand Down
20 changes: 10 additions & 10 deletions src/lxc/lxccontainer.c
Expand Up @@ -623,7 +623,7 @@ WRAP_API_1(bool, wait_on_daemonized_start, int)

static bool am_single_threaded(void)
{
struct dirent dirent, *direntp;
struct dirent *direntp;
DIR *dir;
int count=0;

Expand All @@ -633,7 +633,7 @@ static bool am_single_threaded(void)
return false;
}

while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {
if (!direntp)
break;

Expand Down Expand Up @@ -2284,7 +2284,7 @@ static bool has_fs_snapshots(struct lxc_container *c)
static bool has_snapshots(struct lxc_container *c)
{
char path[MAXPATHLEN];
struct dirent dirent, *direntp;
struct dirent *direntp;
int count=0;
DIR *dir;

Expand All @@ -2293,7 +2293,7 @@ static bool has_snapshots(struct lxc_container *c)
dir = opendir(path);
if (!dir)
return false;
while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {
if (!direntp)
break;

Expand Down Expand Up @@ -3503,7 +3503,7 @@ static int do_lxcapi_snapshot_list(struct lxc_container *c, struct lxc_snapshot
{
char snappath[MAXPATHLEN], path2[MAXPATHLEN];
int count = 0, ret;
struct dirent dirent, *direntp;
struct dirent *direntp;
struct lxc_snapshot *snaps =NULL, *nsnaps;
DIR *dir;

Expand All @@ -3520,7 +3520,7 @@ static int do_lxcapi_snapshot_list(struct lxc_container *c, struct lxc_snapshot
return 0;
}

while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {
if (!direntp)
break;

Expand Down Expand Up @@ -3666,15 +3666,15 @@ static bool do_snapshot_destroy(const char *snapname, const char *clonelxcpath)
static bool remove_all_snapshots(const char *path)
{
DIR *dir;
struct dirent dirent, *direntp;
struct dirent *direntp;
bool bret = true;

dir = opendir(path);
if (!dir) {
SYSERROR("opendir on snapshot path %s", path);
return false;
}
while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {
if (!direntp)
break;
if (!strcmp(direntp->d_name, "."))
Expand Down Expand Up @@ -4191,7 +4191,7 @@ int list_defined_containers(const char *lxcpath, char ***names, struct lxc_conta
{
DIR *dir;
int i, cfound = 0, nfound = 0;
struct dirent dirent, *direntp;
struct dirent *direntp;
struct lxc_container *c;

if (!lxcpath)
Expand All @@ -4208,7 +4208,7 @@ int list_defined_containers(const char *lxcpath, char ***names, struct lxc_conta
if (names)
*names = NULL;

while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {
if (!direntp)
break;

Expand Down
4 changes: 2 additions & 2 deletions src/lxc/start.c
Expand Up @@ -209,7 +209,7 @@ static int match_fd(int fd)
*/
int lxc_check_inherited(struct lxc_conf *conf, bool closeall, int fd_to_ignore)
{
struct dirent dirent, *direntp;
struct dirent *direntp;
int fd, fddir;
DIR *dir;

Expand All @@ -225,7 +225,7 @@ int lxc_check_inherited(struct lxc_conf *conf, bool closeall, int fd_to_ignore)

fddir = dirfd(dir);

while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {
if (!direntp)
break;

Expand Down
4 changes: 2 additions & 2 deletions src/lxc/utils.c
Expand Up @@ -90,7 +90,7 @@ extern bool btrfs_try_remove_subvol(const char *path);
static int _recursive_rmdir(char *dirname, dev_t pdev,
const char *exclude, int level, bool onedev)
{
struct dirent dirent, *direntp;
struct dirent *direntp;
DIR *dir;
int ret, failed=0;
char pathname[MAXPATHLEN];
Expand All @@ -102,7 +102,7 @@ static int _recursive_rmdir(char *dirname, dev_t pdev,
return -1;
}

while (!readdir_r(dir, &dirent, &direntp)) {
while ((direntp = readdir(dir))) {
struct stat mystat;
int rc;

Expand Down

0 comments on commit e00456c

Please sign in to comment.