From 8cf4e72923f436e99d267c70c11475b3a6607485 Mon Sep 17 00:00:00 2001
From: "pem@mysql.com" <>
Date: Wed, 30 Apr 2003 13:10:53 +0200
Subject: [PATCH] Fixed bug in Item_func_compress::val_str() on MacOS X
 (bigendian); the length was not properly stored in the buffer.

---
 sql/item_strfunc.cc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc
index bba3799d398..e6bd969ad2f 100644
--- a/sql/item_strfunc.cc
+++ b/sql/item_strfunc.cc
@@ -2955,8 +2955,9 @@ String *Item_func_compress::val_str(String *str)
     null_value= 1;
     return 0;
   }
-  
-  int4store(buffer.c_ptr(),res->length() & 0x3FFFFFFF);
+
+  char *tmp= buffer.c_ptr();	// int4store is a macro; avoid side effects
+  int4store(tmp, res->length() & 0x3FFFFFFF);
 
   /* This is for the stupid char fields which trim ' ': */
   char *last_char= ((char*)body)+new_size-1;
-- 
2.30.9