int main(int argc, char *argv[]) { int r, k; struct kmod_ctx *ctx; r = parse_argv(argc, argv); if (r <= 0) return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; log_set_target(LOG_TARGET_AUTO); log_parse_environment(); log_open(); umask(0022); if (parse_proc_cmdline(parse_proc_cmdline_item) < 0) return EXIT_FAILURE; ctx = kmod_new(NULL, NULL); if (!ctx) { log_error("Failed to allocate memory for kmod."); goto finish; } kmod_load_resources(ctx); kmod_set_log_fn(ctx, systemd_kmod_log, NULL); r = 0; if (argc > optind) { int i; for (i = optind; i < argc; i++) { k = apply_file(ctx, argv[i], false); if (k < 0 && r == 0) r = k; } } else { _cleanup_free_ char **files = NULL; char **fn, **i; STRV_FOREACH(i, arg_proc_cmdline_modules) { k = load_module(ctx, *i); if (k < 0 && r == 0) r = k; } k = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); if (k < 0) { log_error("Failed to enumerate modules-load.d files: %s", strerror(-k)); if (r == 0) r = k; goto finish; } STRV_FOREACH(fn, files) { k = apply_file(ctx, *fn, true); if (k < 0 && r == 0) r = k; }
int main(int argc, char *argv[]) { int r, k; r = parse_argv(argc, argv); if (r <= 0) return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; log_set_target(LOG_TARGET_AUTO); log_parse_environment(); log_open(); umask(0022); r = 0; if (argc > optind) { int i; for (i = optind; i < argc; i++) { k = apply_file(argv[i], false); if (k < 0 && r == 0) r = k; } } else { _cleanup_strv_free_ char **files = NULL; char **f; r = conf_files_list_strv(&files, ".conf", NULL, 0, (const char**) CONF_PATHS_STRV("binfmt.d")); if (r < 0) { log_error_errno(r, "Failed to enumerate binfmt.d files: %m"); goto finish; } if (arg_cat_config) { (void) pager_open(arg_no_pager, false); r = cat_files(NULL, files, 0); goto finish; } /* Flush out all rules */ write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0); STRV_FOREACH(f, files) { k = apply_file(*f, true); if (k < 0 && r == 0) r = k; } }
int main(int argc, char *argv[]) { int r = 0; log_set_target(LOG_TARGET_AUTO); log_parse_environment(); log_open(); umask(0022); if (argc > 1) { int i; for (i = 1; i < argc; i++) { int k; k = apply_file(argv[i], false); if (k < 0 && r == 0) r = k; } } else { char **files, **f; r = conf_files_list(&files, ".conf", "/etc/binfmt.d", "/run/binfmt.d", "/usr/local/lib/binfmt.d", "/usr/lib/binfmt.d", #ifdef HAVE_SPLIT_USR "/lib/binfmt.d", #endif NULL); if (r < 0) { log_error("Failed to enumerate binfmt.d files: %s", strerror(-r)); goto finish; } /* Flush out all rules */ write_one_line_file("/proc/sys/fs/binfmt_misc/status", "-1"); STRV_FOREACH(f, files) { int k; k = apply_file(*f, true); if (k < 0 && r == 0) r = k; } strv_free(files); }
int main(int argc, char *argv[]) { int r = 0; if (argc > 2) { log_error("This program expects one or no arguments."); return EXIT_FAILURE; } log_set_target(LOG_TARGET_AUTO); log_parse_environment(); log_open(); umask(0022); if (argc > 1) { r = apply_file(argv[1], false); } else { char **files, **f; /* Flush out all rules */ write_one_line_file("/proc/sys/fs/binfmt_misc/status", "-1"); r = conf_files_list(&files, ".conf", "/run/binfmt.d", "/etc/binfmt.d", "/usr/local/lib/binfmt.d", "/usr/lib/binfmt.d", NULL); if (r < 0) { log_error("Failed to enumerate binfmt.d files: %s", strerror(-r)); goto finish; } STRV_FOREACH(f, files) { int k; k = apply_file(*f, true); if (k < 0 && r == 0) r = k; } strv_free(files); }
int main(int argc, char *argv[]) { int r, k; r = parse_argv(argc, argv); if (r <= 0) return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; log_set_target(LOG_TARGET_AUTO); log_parse_environment(); log_open(); umask(0022); r = 0; if (argc > optind) { int i; for (i = optind; i < argc; i++) { k = apply_file(argv[i], false); if (k < 0 && r == 0) r = k; } } else { _cleanup_strv_free_ char **files = NULL; char **f; 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)); goto finish; } /* Flush out all rules */ write_string_file("/proc/sys/fs/binfmt_misc/status", "-1"); STRV_FOREACH(f, files) { k = apply_file(*f, true); if (k < 0 && r == 0) r = k; } }