[tor-commits] [tor/release-0.2.3] Use file-size-fixup code on cygwin too.

arma at torproject.org arma at torproject.org
Sat Oct 13 22:36:36 UTC 2012


commit b1447a4312c47f13bf8ddddab09f19ee73640a3e
Author: Nick Mathewson <nickm at 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.",





More information about the tor-commits mailing list