};
static int list_homes(void) {
- uint64_t i = 0;
int r = 0;
- for (i = 0; i < ELEMENTSOF(path_table); i++) {
+ for (size_t i = 0; i < ELEMENTSOF(path_table); i++) {
_cleanup_free_ char *p = NULL;
int q;
log_full_errno(q == -ENXIO ? LOG_DEBUG : LOG_ERR,
q, "Failed to query %s: %m", path_table[i]);
if (q != -ENXIO)
- r = q;
+ RET_GATHER(r, q);
continue;
}
}
static int print_home(const char *n) {
- uint64_t i = 0;
int r;
- for (i = 0; i < ELEMENTSOF(path_table); i++) {
+ for (size_t i = 0; i < ELEMENTSOF(path_table); i++)
if (streq(path_table[i], n)) {
_cleanup_free_ char *p = NULL;
printf("%s\n", p);
return 0;
}
- }
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
"Path %s not known.", n);
if (r <= 0)
return r;
- if (argc > optind) {
- int i, q;
-
- for (i = optind; i < argc; i++) {
- q = print_home(argv[i]);
- if (q < 0)
- r = q;
- }
+ if (argc > optind)
+ for (int i = optind; i < argc; i++)
+ RET_GATHER(r, print_home(argv[i]));
+ else
+ r = list_homes();
- return r;
- } else
- return list_homes();
+ return r;
}
DEFINE_MAIN_FUNCTION(run);