diff options
author | mskold@mysql.com <> | 2005-04-13 16:24:17 +0200 |
---|---|---|
committer | mskold@mysql.com <> | 2005-04-13 16:24:17 +0200 |
commit | add3fd3cca1ee381ac17633719421bc0fdd10c64 (patch) | |
tree | a1492386b6bc2738d5f8216a4814cf7d15ec4dad /myisam/mi_dynrec.c | |
parent | 32221d9b9e17867e5b2596e7ae36b0aa08dcc6fb (diff) | |
parent | e39ba639341241ebf59917499b2d4ccb161bb44f (diff) | |
download | mariadb-git-add3fd3cca1ee381ac17633719421bc0fdd10c64.tar.gz |
Merge
Diffstat (limited to 'myisam/mi_dynrec.c')
-rw-r--r-- | myisam/mi_dynrec.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/myisam/mi_dynrec.c b/myisam/mi_dynrec.c index 9d8e161b8fe..3a4dafade23 100644 --- a/myisam/mi_dynrec.c +++ b/myisam/mi_dynrec.c @@ -816,7 +816,7 @@ uint _mi_rec_pack(MI_INFO *info, register byte *to, register const byte *from) */ my_bool _mi_rec_check(MI_INFO *info,const char *record, byte *rec_buff, - ulong packed_length) + ulong packed_length, my_bool with_checksum) { uint length,new_length,flag,bit,i; char *pos,*end,*packpos,*to; @@ -920,13 +920,10 @@ my_bool _mi_rec_check(MI_INFO *info,const char *record, byte *rec_buff, if (packed_length != (uint) (to - rec_buff) + test(info->s->calc_checksum) || (bit != 1 && (flag & ~(bit - 1)))) goto err; - if (info->s->calc_checksum) + if (with_checksum && ((uchar) info->checksum != (uchar) *to)) { - if ((uchar) info->checksum != (uchar) *to) - { - DBUG_PRINT("error",("wrong checksum for row")); - goto err; - } + DBUG_PRINT("error",("wrong checksum for row")); + goto err; } DBUG_RETURN(0); |