tmpfiles: refactor code into new is_dir_empty function

The existing implementation seemed useful enough to warrant a new
helper function. Care was taken to ensure the revised code no longer
suffers any memory leaks.
This commit is contained in:
Aaron Andersen committed 2025-06-05 20:53:25 -04:00
1 parent 2957246092
commit 5993b4bb5d
2 files changed
+19 -12

No files matched your search

+17
View File
@@ -26,6 +26,7 @@
#define FINIT_HELPERS_H_
#include <ctype.h>
#include <dirent.h>
#include <fcntl.h>
#include <stdarg.h>
#include <stdlib.h>
@@ -206,6 +207,22 @@ static inline char *fgetval(const char *line, const char *key, char *sep)
return realloc(copy, len);
}
static inline int is_dir_empty(const char *path)
{
struct dirent **namelist;
int num;
num = scandir(path, &namelist, NULL, NULL);
if (num < 0)
return 0;
for (int i = 0; i < num; i++)
free(namelist[i]);
free(namelist);
return num >= 3;
}
#endif /* FINIT_HELPERS_H_ */
/**