diff --git a/libc/bionic/ftruncate.cpp b/libc/bionic/ftruncate.cpp index c073f2d43..9936df042 100644 --- a/libc/bionic/ftruncate.cpp +++ b/libc/bionic/ftruncate.cpp @@ -18,11 +18,14 @@ #include #include -#if !defined(__USE_FILE_OFFSET64) && !defined(__LP64__) +#if !defined(__LP64__) +static_assert(sizeof(off_t) == 4, + "libc can't be built with _FILE_OFFSET_BITS=64."); + // The kernel's implementation of ftruncate uses an unsigned long for the length // parameter, so it will not catch negative values. On the other hand // ftruncate64 does check for this, so just forward the call. int ftruncate(int filedes, off_t length) { return ftruncate64(filedes, length); } -#endif +#endif // !defined(__LP64__) diff --git a/tests/unistd_test.cpp b/tests/unistd_test.cpp index a21578a89..79c16d7eb 100644 --- a/tests/unistd_test.cpp +++ b/tests/unistd_test.cpp @@ -179,10 +179,8 @@ TEST(unistd, ftruncate64) { TEST(unistd, ftruncate_negative) { TemporaryFile tf; errno = 0; - int rc = ftruncate(tf.fd, -123); - int err = errno; - ASSERT_EQ(-1, rc); - ASSERT_EQ(EINVAL, err); + ASSERT_EQ(-1, ftruncate(tf.fd, -123)); + ASSERT_EQ(EINVAL, errno); } static bool g_pause_test_flag = false;