X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fbinfmt%2Fbinfmt.c;h=5a42b3dbef769b9561b09ef8a5be52b19095fb81;hp=f8c97b5ca54869da0a170697b4e0631e0df53e50;hb=68313d3dfa2082dae8a06643d639e0200afc19fc;hpb=fabe5c0e5fce730aa66e10a9c4f9fdd443d7aeda diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c index f8c97b5ca..5a42b3dbe 100644 --- a/src/binfmt/binfmt.c +++ b/src/binfmt/binfmt.c @@ -33,6 +33,7 @@ #include "strv.h" #include "util.h" #include "conf-files.h" +#include "fileio.h" static const char conf_file_dirs[] = "/etc/binfmt.d\0" @@ -61,7 +62,7 @@ static int delete_rule(const char *rule) { if (!fn) return log_oom(); - return write_one_line_file(fn, "-1"); + return write_string_file(fn, "-1"); } static int apply_rule(const char *rule) { @@ -69,7 +70,7 @@ static int apply_rule(const char *rule) { delete_rule(rule); - r = write_one_line_file("/proc/sys/fs/binfmt_misc/register", 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; @@ -109,7 +110,7 @@ static int apply_file(const char *path, bool ignore_enoent) { p = strstrip(l); if (!*p) continue; - if (strchr(COMMENTS, *p)) + if (strchr(COMMENTS "\n", *p)) continue; k = apply_rule(p); @@ -196,7 +197,7 @@ int main(int argc, char *argv[]) { } /* Flush out all rules */ - write_one_line_file("/proc/sys/fs/binfmt_misc/status", "-1"); + write_string_file("/proc/sys/fs/binfmt_misc/status", "-1"); STRV_FOREACH(f, files) { k = apply_file(*f, true);