summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authormonty@donna.mysql.com <>2000-11-18 23:13:48 +0200
committermonty@donna.mysql.com <>2000-11-18 23:13:48 +0200
commitb31d0768794e964852562c0ba307e6eea35f101b (patch)
tree287897ebd815b64a05c0ca7076beccd5245a2f8d /myisam
parent23dc1a6b8568eab379492213be67d11c99522eca (diff)
downloadmariadb-git-b31d0768794e964852562c0ba307e6eea35f101b.tar.gz
Fixed some reported bugs
Diffstat (limited to 'myisam')
-rw-r--r--myisam/mi_key.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/myisam/mi_key.c b/myisam/mi_key.c
index d64a02ea5f5..bf2f5c292dd 100644
--- a/myisam/mi_key.c
+++ b/myisam/mi_key.c
@@ -181,10 +181,14 @@ uint _mi_pack_key(register MI_INFO *info, uint keynr, uchar *key, uchar *old,
}
else if (keyseg->flag & (HA_VAR_LENGTH | HA_BLOB_PART))
{
- uint tmp_length=uint2korr(pos); pos+=2;
+ /* Length of key-part used with mi_rkey() always 2 */
+ uint tmp_length=uint2korr(pos);
+ k_length-= 2+length;
set_if_smaller(length,tmp_length);
store_key_length_inc(key,length);
- k_length-=2;
+ memcpy((byte*) key, pos+2,(size_t) length);
+ key+= length;
+ continue;
}
else if (keyseg->flag & HA_SWAP_KEY)
{ /* Numerical column */