Browse Source

Fix return value of tor_fd_seekend.

Previously, we had documented it to return -1 or 0, when in fact
lseek returns -1 or the new position in the file.

This is harmless, since we were only checking for negative values
when we used tor_fd_seekend.
Nick Mathewson 9 years ago
parent
commit
7c61d10c6c
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/common/compat.c

+ 2 - 2
src/common/compat.c

@@ -990,14 +990,14 @@ tor_fd_seekend(int fd)
 #ifdef _WIN32
   return _lseek(fd, 0, SEEK_END) < 0 ? -1 : 0;
 #else
-  int rc = lseek(fd, 0, SEEK_END) < 0 ? -1 : 0;
+  off_t rc = lseek(fd, 0, SEEK_END) < 0 ? -1 : 0;
 #ifdef ESPIPE
   /* If we get an error and ESPIPE, then it's a pipe or a socket of a fifo:
    * no need to worry. */
   if (rc < 0 && errno == ESPIPE)
     rc = 0;
 #endif
-  return rc;
+  return (rc < 0) ? -1 : 0;
 #endif
 }