chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
journald: allow restarting journald without losing stream connections
[elogind.git]
/
src
/
binfmt
/
binfmt.c
diff --git
a/src/binfmt/binfmt.c
b/src/binfmt/binfmt.c
index a1877c42f7cc213ffad73971c329d9af7aaaf140..089b7754a431b6cc4e9cff611b7ad0f06fa80b9e 100644
(file)
--- a/
src/binfmt/binfmt.c
+++ b/
src/binfmt/binfmt.c
@@
-36,15
+36,7
@@
#include "fileio.h"
#include "build.h"
#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;
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);
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;
}
return 0;
}
@@
-86,13
+76,12
@@
static int apply_file(const char *path, bool ignore_enoent) {
assert(path);
assert(path);
- r = search_and_fopen_nulstr(path, "re", conf_file_dirs, &f);
+ r = search_and_fopen_nulstr(path, "re",
NULL,
conf_file_dirs, &f);
if (r < 0) {
if (ignore_enoent && r == -ENOENT)
return 0;
if (r < 0) {
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);
}
log_debug("apply: %s", path);
@@
-104,7
+93,7
@@
static int apply_file(const char *path, bool ignore_enoent) {
if (feof(f))
break;
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;
}
return -errno;
}
@@
-122,15
+111,12
@@
static int apply_file(const char *path, bool ignore_enoent) {
return r;
}
return r;
}
-static int help(void) {
-
+static void help(void) {
printf("%s [OPTIONS...] [CONFIGURATION FILE...]\n\n"
"Registers binary formats.\n\n"
" -h --help Show this help\n"
printf("%s [OPTIONS...] [CONFIGURATION FILE...]\n\n"
"Registers binary formats.\n\n"
" -h --help Show this help\n"
- " --version Show package version\n",
- program_invocation_short_name);
-
- return 0;
+ " --version Show package version\n"
+ , program_invocation_short_name);
}
static int parse_argv(int argc, char *argv[]) {
}
static int parse_argv(int argc, char *argv[]) {
@@
-150,12
+136,13
@@
static int parse_argv(int argc, char *argv[]) {
assert(argc >= 0);
assert(argv);
assert(argc >= 0);
assert(argv);
- while ((c = getopt_long(argc, argv, "h", options, NULL)) >= 0)
{
+ while ((c = getopt_long(argc, argv, "h", options, NULL)) >= 0)
switch (c) {
case 'h':
switch (c) {
case 'h':
- return help();
+ help();
+ return 0;
case ARG_VERSION:
puts(PACKAGE_STRING);
case ARG_VERSION:
puts(PACKAGE_STRING);
@@
-168,7
+155,6
@@
static int parse_argv(int argc, char *argv[]) {
default:
assert_not_reached("Unhandled option");
}
default:
assert_not_reached("Unhandled option");
}
- }
return 1;
}
return 1;
}
@@
-202,7
+188,7
@@
int main(int argc, char *argv[]) {
r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs);
if (r < 0) {
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;
}
goto finish;
}