assert(p);
- r = conf_file_new(p, /* root= */ NULL, CONF_FILES_REGULAR, &c);
+ r = conf_file_new(p, /* root= */ NULL, CONF_FILES_REGULAR | CONF_FILES_FILTER_MASKED, &c);
+ if (r == -ERFKILL) { /* masked */
+ if (newline) {
+ if (*newline)
+ putc('\n', stdout);
+ *newline = true;
+ }
+
+ printf("%s# %s is a mask.%s\n",
+ ansi_highlight_magenta(),
+ p,
+ ansi_normal());
+ return 0;
+ }
if (r < 0)
return log_error_errno(r, "Failed to chase '%s': %m", p);
if (!p)
return log_oom();
- if (conf_file_new(p, root, CONF_FILES_REGULAR, &c) >= 0)
+ r = conf_file_new(p, root, CONF_FILES_REGULAR | CONF_FILES_FILTER_MASKED, &c);
+ if (r >= 0 || r == -ERFKILL) /* Found a regular file or masked file */
break;
}