diff options
author | unknown <tomas@whalegate.ndb.mysql.com> | 2007-08-27 15:41:24 +0200 |
---|---|---|
committer | unknown <tomas@whalegate.ndb.mysql.com> | 2007-08-27 15:41:24 +0200 |
commit | 66262046a8965099d6c63b1802d6b5a5f35f58de (patch) | |
tree | a85334878a9ef8252e215c2a85cc49def3d141a2 /sql/field.cc | |
parent | 75fe12a196ef9fef3e87c70f8970317d19183d1b (diff) | |
parent | 2bf5b1aa6c723934f1ad4a77a63b592346c25e0f (diff) | |
download | mariadb-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.cc | 18 |
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)); |