summaryrefslogtreecommitdiff
path: root/sql/field.cc
diff options
context:
space:
mode:
authorunknown <tomas@whalegate.ndb.mysql.com>2007-08-27 15:41:24 +0200
committerunknown <tomas@whalegate.ndb.mysql.com>2007-08-27 15:41:24 +0200
commit66262046a8965099d6c63b1802d6b5a5f35f58de (patch)
treea85334878a9ef8252e215c2a85cc49def3d141a2 /sql/field.cc
parent75fe12a196ef9fef3e87c70f8970317d19183d1b (diff)
parent2bf5b1aa6c723934f1ad4a77a63b592346c25e0f (diff)
downloadmariadb-git-66262046a8965099d6c63b1802d6b5a5f35f58de.tar.gz
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-target-5.1.22
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-target-5.1.22 sql/field.cc: Auto merged
Diffstat (limited to 'sql/field.cc')
-rw-r--r--sql/field.cc18
1 files changed, 17 insertions, 1 deletions
diff --git a/sql/field.cc b/sql/field.cc
index 23dca96164e..c8e1572d60f 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -7622,6 +7622,13 @@ uchar *Field_blob::pack(uchar *to, const uchar *from, uint max_length)
ptr= (uchar*) from;
}
else
+#ifdef WORDS_BIGENDIAN
+ if (table->s->db_low_byte_first)
+ {
+ store_length(to,packlength,length,0);
+ }
+ else
+#endif
memcpy(to,from,packlength); // Copy length
if (length)
{
@@ -7658,8 +7665,17 @@ const uchar *Field_blob::unpack(uchar *to,
const uchar *Field_blob::unpack(uchar *to, const uchar *from)
{
- memcpy(to,from,packlength);
uint32 length=get_length(from);
+#ifdef WORDS_BIGENDIAN
+ if (table->s->db_low_byte_first)
+ {
+ store_length(to,packlength,length,1);
+ }
+ else
+#endif
+ {
+ memcpy(to,from,packlength);
+ }
from+=packlength;
if (length)
memcpy_fixed(to+packlength, &from, sizeof(from));