chiark / gitweb /
util: define union dirent_storage and make use of it everywhere
[elogind.git] / src / tmpfiles / tmpfiles.c
index 5d0f571bea605f7a15838e2dbf643309911418b0..f10f90845e08d9337bf6c006896a35467fba295c 100644 (file)
@@ -551,12 +551,13 @@ static int recursive_relabel_children(Item *i, const char *path) {
                 return errno == ENOENT ? 0 : -errno;
 
         for (;;) {
-                struct dirent buf, *de;
+                struct dirent *de;
+                union dirent_storage buf;
                 bool is_dir;
                 int r;
                 char *entry_path;
 
-                r = readdir_r(d, &buf, &de);
+                r = readdir_r(d, &buf.de, &de);
                 if (r != 0) {
                         if (ret == 0)
                                 ret = -r;