Some fdopendir() calls remain where safe_close() is manually
performed, those could be simplified as well by converting to
use the _cleanup_close_ machinery, but makes things less trivial
to review so left for a future cleanup.
#include "copy.h"
#include "dirent-util.h"
#include "fd-util.h"
+#include "fileio.h"
#include "fs-util.h"
#include "io-util.h"
#include "macro.h"
if (fdf < 0)
return -errno;
- d = fdopendir(fdf);
+ d = take_fdopendir(&fdf);
if (!d)
return -errno;
- fdf = -1;
exists = false;
if (copy_flags & COPY_MERGE_EMPTY) {
#include "alloc-util.h"
#include "dirent-util.h"
#include "fd-util.h"
+#include "fileio.h"
#include "fs-util.h"
#include "macro.h"
#include "missing_fs.h"
if (fd < 0)
return -errno;
- d = fdopendir(fd);
+ d = take_fdopendir(&fd);
if (!d)
return -errno;
- fd = -1;
FOREACH_DIRENT(de, d, return -errno)
return 0;
#include "acl-util.h"
#include "dirent-util.h"
#include "fd-util.h"
+#include "fileio.h"
#include "fs-util.h"
#include "missing_magic.h"
#include "nspawn-def.h"
donate_fd = true;
}
- d = fdopendir(fd);
+ d = take_fdopendir(&fd);
if (!d) {
r = -errno;
goto finish;
}
- fd = -1;
FOREACH_DIRENT_ALL(de, d, r = -errno; goto finish) {
struct stat fst;