diff options
author | David Goulet <dgoulet@torproject.org> | 2021-01-28 12:46:31 -0500 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2021-01-28 12:46:31 -0500 |
commit | 79cb47cfc2ed83911f78fa24ba4205bf69958105 (patch) | |
tree | ad92e37bc8cbdc8145d2ddf7518711d93af79a68 /src/lib | |
parent | f058db1f3d6fee5bc6506ece88cfd100eb86729d (diff) | |
parent | 9556276f07e62e8b2e6a496e9b2a918293367839 (diff) | |
download | tor-79cb47cfc2ed83911f78fa24ba4205bf69958105.tar.gz tor-79cb47cfc2ed83911f78fa24ba4205bf69958105.zip |
Merge branch 'maint-0.3.5' into maint-0.4.3
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/fs/files.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/fs/files.c b/src/lib/fs/files.c index aeaeb5daea..a0b5a40aac 100644 --- a/src/lib/fs/files.c +++ b/src/lib/fs/files.c @@ -607,6 +607,9 @@ read_file_to_str_until_eof(int fd, size_t max_bytes_to_read, size_t *sz_out) * If <b>flags</b> & RFTS_BIN, open the file in binary mode. * If <b>flags</b> & RFTS_IGNORE_MISSING, don't warn if the file * doesn't exist. + * + * Unless the RFTS_BIN flag is set in <b>flags</b>, this function will strip + * any CR characters in the return value on all platforms. */ /* * This function <em>may</em> return an erroneous result if the file @@ -685,7 +688,6 @@ read_file_to_str, (const char *filename, int flags, struct stat *stat_out)) } string[r] = '\0'; /* NUL-terminate the result. */ -#if defined(_WIN32) || defined(__CYGWIN__) if (!bin && strchr(string, '\r')) { log_debug(LD_FS, "We didn't convert CRLF to LF as well as we hoped " "when reading %s. Coping.", @@ -695,8 +697,7 @@ read_file_to_str, (const char *filename, int flags, struct stat *stat_out)) } if (!bin) { statbuf.st_size = (size_t) r; - } else -#endif /* defined(_WIN32) || defined(__CYGWIN__) */ + } else { if (r != statbuf.st_size) { /* Unless we're using text mode on win32, we'd better have an exact * match for size. */ @@ -708,6 +709,7 @@ read_file_to_str, (const char *filename, int flags, struct stat *stat_out)) errno = save_errno; return NULL; } + } close(fd); if (stat_out) { memcpy(stat_out, &statbuf, sizeof(struct stat)); |