From 1075c406f446c0aa2a9bdb876dc2136b08777c04 Mon Sep 17 00:00:00 2001 From: "marko@hundin.mysql.fi" <> Date: Tue, 1 Feb 2005 23:55:41 +0200 Subject: [PATCH] InnoDB: Fix debug compile error on Tru64 (Bug #8244) --- innobase/include/rem0rec.ic | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/innobase/include/rem0rec.ic b/innobase/include/rem0rec.ic index 366f1c3f77d..2593fb8edeb 100644 --- a/innobase/include/rem0rec.ic +++ b/innobase/include/rem0rec.ic @@ -279,7 +279,15 @@ rec_get_next_offs( /* Note that for 64 KiB pages, field_value can 'wrap around' and the debug assertion is not valid */ - ut_ad((int16_t)field_value + /* In the following assertion, field_value is interpreted + as signed 16-bit integer in 2's complement arithmetics. + If all platforms defined int16_t in the standard headers, + the expression could be written simpler as + (int16_t) field_value + ut_align_offset(...) < UNIV_PAGE_SIZE + */ + ut_ad((field_value >= 32768 + ? field_value - 65536 + : field_value) + ut_align_offset(rec, UNIV_PAGE_SIZE) < UNIV_PAGE_SIZE); #endif