diff options
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/fileio.c | 23 | ||||
-rw-r--r-- | 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 48dd44239f..ad068bf30d 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 34ed3c1e97..0ca6878ea4 100644 --- a/src/shared/fileio.h +++ b/src/shared/fileio.h @@ -21,10 +21,14 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ #include <stddef.h> +#include <stdio.h> + #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); |