Commit 4a506d6e authored by unknown's avatar unknown

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:
  Made it work on MacOS X (bigendian) where int4store is a macro that expands
  the arguments several times.
  It's possible this should be done differently, like not side-stepping the
  String methods the way it's done here, or fixing String::c_ptr(), but this
  simple fix was the quickest way.
parent 4ceb2578
......@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment