summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/my_decimal.h2
-rw-r--r--strings/decimal.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/sql/my_decimal.h b/sql/my_decimal.h
index a2cc61cf8d4..44530acd0cc 100644
--- a/sql/my_decimal.h
+++ b/sql/my_decimal.h
@@ -85,7 +85,7 @@ public:
{
len= DECIMAL_BUFF_LENGTH;
buf= buffer;
-#if !defined(DBUG_OFF)
+#if !defined (HAVE_purify) && !defined(DBUG_OFF)
/* Set buffer to 'random' value to find wrong buffer usage */
for (uint i= 0; i < DECIMAL_BUFF_LENGTH; i++)
buffer[i]= i;
diff --git a/strings/decimal.c b/strings/decimal.c
index 90e64ae892f..f288a93eb5e 100644
--- a/strings/decimal.c
+++ b/strings/decimal.c
@@ -139,8 +139,12 @@ static const dec1 frac_max[DIG_PER_DEC1-1]={
999900000, 999990000, 999999000,
999999900, 999999990 };
+#ifdef HAVE_purify
+#define sanity(d) DBUG_ASSERT((d)->len > 0)
+#else
#define sanity(d) DBUG_ASSERT((d)->len >0 && ((d)->buf[0] | \
(d)->buf[(d)->len-1] | 1))
+#endif
#define FIX_INTG_FRAC_ERROR(len, intg1, frac1, error) \
do \