diff options
Diffstat (limited to 'sql/field.cc')
-rw-r--r-- | sql/field.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/field.cc b/sql/field.cc index 084232fe2bb..a1dc02eba4a 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -5358,7 +5358,7 @@ double Field_blob::val_real(void) return 0.0; length= get_length(ptr); cs= charset(); - return my_strntod(cs,blob,length,(char**)0, ¬_used); + return my_strntod(cs, blob, length, &end_not_used, ¬_used); } @@ -6362,11 +6362,13 @@ longlong Field_bit::val_int(void) String *Field_bit::val_str(String *val_buffer, String *val_ptr __attribute__((unused))) { + char buff[sizeof(longlong)]; uint length= min(pack_length(), sizeof(longlong)); ulonglong bits= val_int(); + mi_int8store(buff,bits); val_buffer->alloc(length); - memcpy_fixed((char*) val_buffer->ptr(), (char*) &bits, length); + memcpy_fixed((char*) val_buffer->ptr(), buff+8-length, length); val_buffer->length(length); val_buffer->set_charset(&my_charset_bin); return val_buffer; |