Use file-size-fixup code on cygwin too.

We already had code on windows to fix our file sizes when we're
reading a file in text mode and its size doesn't match the size from
fstat.  But that code was only enabled when _WIN32 was defined, and
Cygwin defines __CYGWIN__ instead.

Fixes bug 6844; bugfix on 0.1.2.7-alpha.
This commit is contained in:
Nick Mathewson 2012-09-14 12:37:17 -04:00
parent 909691f1ae
commit b1447a4312
2 changed files with 5 additions and 1 deletions

4
changes/bug6844 Normal file
View File

@ -0,0 +1,4 @@
o Minor bugfixes:
- Correct file sizes when reading binary files on
Cygwin, to avoid a bug where Tor would fail to read its state file.
Fixes bug 6844; bugfix on 0.1.2.7-alpha.

View File

@ -2322,7 +2322,7 @@ read_file_to_str(const char *filename, int flags, struct stat *stat_out)
}
string[r] = '\0'; /* NUL-terminate the result. */
#ifdef _WIN32
#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.",