From b4bc041b1756aab117df40abdcc16a9dc2e72d07 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 4 May 2013 11:38:23 -0400 Subject: [PATCH] fileio: split write_one_line_file into two The new function allows one to write to an already open file. --- src/shared/fileio.c | 23 ++++++++++++++--------- src/shared/fileio.h | 4 ++++ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/shared/fileio.c b/src/shared/fileio.c index 48dd44239..ad068bf30 100644 --- a/src/shared/fileio.c +++ b/src/shared/fileio.c @@ -24,16 +24,8 @@ #include "util.h" #include "strv.h" -int write_string_file(const char *fn, const char *line) { - _cleanup_fclose_ FILE *f = NULL; - - assert(fn); - assert(line); - - f = fopen(fn, "we"); - if (!f) - return -errno; +int write_string_to_file(FILE *f, const char *line) { errno = 0; fputs(line, f); if (!endswith(line, "\n")) @@ -47,6 +39,19 @@ int write_string_file(const char *fn, const char *line) { return 0; } +int write_string_file(const char *fn, const char *line) { + _cleanup_fclose_ FILE *f = NULL; + + assert(fn); + assert(line); + + f = fopen(fn, "we"); + if (!f) + return -errno; + + return write_string_to_file(f, line); +} + int write_string_file_atomic(const char *fn, const char *line) { _cleanup_fclose_ FILE *f = NULL; _cleanup_free_ char *p = NULL; diff --git a/src/shared/fileio.h b/src/shared/fileio.h index 34ed3c1e9..0ca6878ea 100644 --- a/src/shared/fileio.h +++ b/src/shared/fileio.h @@ -21,10 +21,14 @@ along with systemd; If not, see . ***/ #include +#include + #include "macro.h" +int write_string_to_file(FILE *f, const char *line); int write_string_file(const char *fn, const char *line); int write_string_file_atomic(const char *fn, const char *line); + int read_one_line_file(const char *fn, char **line); int read_full_file(const char *fn, char **contents, size_t *size); -- 2.30.2