summaryrefslogtreecommitdiff
path: root/src/basic/fileio.h
diff options
context:
space:
mode:
authorDaniel Mack <daniel@zonque.org>2015-07-06 19:19:25 -0400
committerDaniel Mack <daniel@zonque.org>2015-07-06 19:19:25 -0400
commit4c1fc3e404d648c70bd2f50ac50aeac6ece8872e (patch)
tree977a223a8f5aa7fc2a5861a8d557b879bfc98a9f /src/basic/fileio.h
parent40beecdb6d1c73e5acb62ebac2ccbfd7891f2418 (diff)
fileio: consolidate write_string_file*()
Merge write_string_file(), write_string_file_no_create() and write_string_file_atomic() into write_string_file() and provide a flags mask that allows combinations of atomic writing, newline appending and automatic file creation. Change all users accordingly.
Diffstat (limited to 'src/basic/fileio.h')
-rw-r--r--src/basic/fileio.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/basic/fileio.h b/src/basic/fileio.h
index 989b904c26..2e8148ff24 100644
--- a/src/basic/fileio.h
+++ b/src/basic/fileio.h
@@ -25,10 +25,14 @@
#include "macro.h"
+typedef enum {
+ WRITE_STRING_FILE_CREATE = 1,
+ WRITE_STRING_FILE_ATOMIC = 2,
+ WRITE_STRING_FILE_AVOID_NEWLINE = 4,
+} WriteStringFileFlags;
+
int write_string_stream(FILE *f, const char *line, bool enforce_newline);
-int write_string_file(const char *fn, const char *line);
-int write_string_file_no_create(const char *fn, const char *line);
-int write_string_file_atomic(const char *fn, const char *line);
+int write_string_file(const char *fn, const char *line, WriteStringFileFlags flags);
int read_one_line_file(const char *fn, char **line);
int read_full_file(const char *fn, char **contents, size_t *size);