}
/* Different kinds of errors that mean that information is not available in the environment. */
-static bool ERRNO_IS_NOINFO(int r) {
- return IN_SET(abs(r),
- EUNATCH, /* os-release or machine-id missing */
- ENOMEDIUM, /* machine-id or another file empty */
- ENOPKG, /* machine-id is uninitialized */
- ENXIO); /* env var is unset */
+static bool ERRNO_IS_NEG_NOINFO(intmax_t r) {
+ return IN_SET(r,
+ -EUNATCH, /* os-release or machine-id missing */
+ -ENOMEDIUM, /* machine-id or another file empty */
+ -ENOPKG, /* machine-id is uninitialized */
+ -ENXIO); /* env var is unset */
}
static int specifier_directory(
return r;
r = xdg_user_config_dir(&persistent_config, "/user-tmpfiles.d");
- if (r < 0 && !ERRNO_IS_NOINFO(r))
+ if (r < 0 && !ERRNO_IS_NEG_NOINFO(r))
return r;
r = xdg_user_runtime_dir(&runtime_config, "/user-tmpfiles.d");
- if (r < 0 && !ERRNO_IS_NOINFO(r))
+ if (r < 0 && !ERRNO_IS_NEG_NOINFO(r))
return r;
r = xdg_user_data_dir(&data_home, "/user-tmpfiles.d");
- if (r < 0 && !ERRNO_IS_NOINFO(r))
+ if (r < 0 && !ERRNO_IS_NEG_NOINFO(r))
return r;
r = strv_extend_strv_concat(&res, (const char* const*) config_dirs, "/user-tmpfiles.d");
i.purge = purge;
r = specifier_printf(path, PATH_MAX-1, specifier_table, arg_root, NULL, &i.path);
- if (ERRNO_IS_NOINFO(r))
+ if (ERRNO_IS_NEG_NOINFO(r))
return log_unresolvable_specifier(fname, line);
if (r < 0) {
if (IN_SET(r, -EINVAL, -EBADSLT))
if (!unbase64) {
/* Do specifier expansion except if base64 mode is enabled */
r = specifier_expansion_from_arg(specifier_table, &i);
- if (ERRNO_IS_NOINFO(r))
+ if (ERRNO_IS_NEG_NOINFO(r))
return log_unresolvable_specifier(fname, line);
if (r < 0) {
if (IN_SET(r, -EINVAL, -EBADSLT))
RET_GATHER(r, process_item_array(&c, a, op));
}
- if (ERRNO_IS_RESOURCE(r))
+ if (ERRNO_IS_NEG_RESOURCE(r))
return r;
if (invalid_config)
return EX_DATAERR;