Browse Source

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.
Nick Mathewson 11 years ago
parent
commit
b1447a4312
2 changed files with 5 additions and 1 deletions
  1. 4 0
      changes/bug6844
  2. 1 1
      src/common/util.c

+ 4 - 0
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.

+ 1 - 1
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.",