return null_or_empty(&st);
}
+int null_or_empty_fd(int fd) {
+ struct stat st;
+
+ assert(fd >= 0);
+
+ if (fstat(fd, &st) < 0)
+ return -errno;
+
+ return null_or_empty(&st);
+}
+
DIR *xopendirat(int fd, const char *name, int flags) {
int nfd;
DIR *d;
return endswith(de->d_name, suffix);
}
-void execute_directory(const char *directory, DIR *d, usec_t timeout, char *argv[], char *env[]) {
+void execute_directory(const char *directory, DIR *d, usec_t timeout, char *argv[]) {
pid_t executor_pid;
int r;
assert_se(prctl(PR_SET_PDEATHSIG, SIGTERM) == 0);
- if (!strv_isempty(env)) {
- char **i;
-
- STRV_FOREACH(i, env)
- putenv(*i);
- }
-
-
if (!d) {
d = _d = opendir(directory);
if (!d) {
for (t = p; *t; t++) {
if (ok && strchr(ok, *t))
- return false;
+ continue;
if (*t > 0 && *t < ' ')
return true;