commit b1447a4312c47f13bf8ddddab09f19ee73640a3e Author: Nick Mathewson nickm@torproject.org Date: Fri Sep 14 12:37:17 2012 -0400
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. --- changes/bug6844 | 4 ++++ src/common/util.c | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/changes/bug6844 b/changes/bug6844 new file mode 100644 index 0000000..338e19d --- /dev/null +++ b/changes/bug6844 @@ -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. diff --git a/src/common/util.c b/src/common/util.c index 55f4d90..6fb597a 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -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.",