fileio: introduce read_one_line_file_at()
This commit is contained in:
committed by
Daan De Meyer
parent
728d7382a0
commit
46b457e54b
+6
-5
@@ -354,18 +354,19 @@ int write_string_filef(
|
||||
return write_string_file(fn, p, flags);
|
||||
}
|
||||
|
||||
int read_one_line_file(const char *fn, char **line) {
|
||||
int read_one_line_file_at(int dir_fd, const char *filename, char **ret) {
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
int r;
|
||||
|
||||
assert(fn);
|
||||
assert(line);
|
||||
assert(dir_fd >= 0 || dir_fd == AT_FDCWD);
|
||||
assert(filename);
|
||||
assert(ret);
|
||||
|
||||
r = fopen_unlocked(fn, "re", &f);
|
||||
r = fopen_unlocked_at(dir_fd, filename, "re", 0, &f);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
return read_line(f, LONG_LINE_MAX, line);
|
||||
return read_line(f, LONG_LINE_MAX, ret);
|
||||
}
|
||||
|
||||
int verify_file_at(int dir_fd, const char *fn, const char *blob, bool accept_extra_nl) {
|
||||
|
||||
+4
-1
@@ -71,7 +71,10 @@ static inline int write_string_file(const char *fn, const char *line, WriteStrin
|
||||
|
||||
int write_string_filef(const char *fn, WriteStringFileFlags flags, const char *format, ...) _printf_(3, 4);
|
||||
|
||||
int read_one_line_file(const char *filename, char **line);
|
||||
int read_one_line_file_at(int dir_fd, const char *filename, char **ret);
|
||||
static inline int read_one_line_file(const char *filename, char **ret) {
|
||||
return read_one_line_file_at(AT_FDCWD, filename, ret);
|
||||
}
|
||||
int read_full_file_full(int dir_fd, const char *filename, uint64_t offset, size_t size, ReadFullFileFlags flags, const char *bind_name, char **ret_contents, size_t *ret_size);
|
||||
static inline int read_full_file_at(int dir_fd, const char *filename, char **ret_contents, size_t *ret_size) {
|
||||
return read_full_file_full(dir_fd, filename, UINT64_MAX, SIZE_MAX, 0, NULL, ret_contents, ret_size);
|
||||
|
||||
Reference in New Issue
Block a user