#include <dirent.h>
#include <fcntl.h>
+#include "sd-daemon.h"
+
#include "set.h"
#include "util.h"
#include "macro.h"
#include "fdset.h"
-#include "sd-daemon.h"
#define MAKE_SET(s) ((Set*) s)
#define MAKE_FDSET(s) ((FDSet*) s)
assert(fds);
- SET_FOREACH(p, MAKE_SET(fds), i)
- if ((r = fd_cloexec(PTR_TO_FD(p), b)) < 0)
+ SET_FOREACH(p, MAKE_SET(fds), i) {
+ r = fd_cloexec(PTR_TO_FD(p), b);
+ if (r < 0)
return r;
+ }
return 0;
}
int fdset_iterate(FDSet *s, Iterator *i) {
void *p;
- p = set_iterate(MAKE_SET(s), i);
- if (!p)
+ if (!set_iterate(MAKE_SET(s), i, &p))
return -ENOENT;
return PTR_TO_FD(p);