X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fbinfmt%2Fbinfmt.c;h=089b7754a431b6cc4e9cff611b7ad0f06fa80b9e;hb=cf1d0302aeaf4e44a6a643fb41e5525fdd04b1d5;hp=c1c152239bed496e8c37d353e8bc7d3b2c1182b1;hpb=601185b43da638b1c74153deae01dbd518680889;p=elogind.git diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c index c1c152239..089b7754a 100644 --- a/src/binfmt/binfmt.c +++ b/src/binfmt/binfmt.c @@ -36,15 +36,7 @@ #include "fileio.h" #include "build.h" -static const char conf_file_dirs[] = - "/etc/binfmt.d\0" - "/run/binfmt.d\0" - "/usr/local/lib/binfmt.d\0" - "/usr/lib/binfmt.d\0" -#ifdef HAVE_SPLIT_USR - "/lib/binfmt.d\0" -#endif - ; +static const char conf_file_dirs[] = CONF_DIRS_NULSTR("binfmt"); static int delete_rule(const char *rule) { _cleanup_free_ char *x = NULL, *fn = NULL; @@ -72,10 +64,8 @@ static int apply_rule(const char *rule) { delete_rule(rule); r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule); - if (r < 0) { - log_error("Failed to add binary format: %s", strerror(-r)); - return r; - } + if (r < 0) + return log_error_errno(r, "Failed to add binary format: %m"); return 0; } @@ -91,8 +81,7 @@ static int apply_file(const char *path, bool ignore_enoent) { if (ignore_enoent && r == -ENOENT) return 0; - log_error("Failed to open file '%s', ignoring: %s", path, strerror(-r)); - return r; + return log_error_errno(r, "Failed to open file '%s', ignoring: %m", path); } log_debug("apply: %s", path); @@ -104,7 +93,7 @@ static int apply_file(const char *path, bool ignore_enoent) { if (feof(f)) break; - log_error("Failed to read file '%s', ignoring: %m", path); + log_error_errno(errno, "Failed to read file '%s', ignoring: %m", path); return -errno; } @@ -199,7 +188,7 @@ int main(int argc, char *argv[]) { r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); if (r < 0) { - log_error("Failed to enumerate binfmt.d files: %s", strerror(-r)); + log_error_errno(r, "Failed to enumerate binfmt.d files: %m"); goto finish; }