mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
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.
This commit is contained in:
parent
4ceb257849
commit
4a506d6e23
1 changed files with 3 additions and 2 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue