summaryrefslogtreecommitdiff
path: root/myisam/mi_dynrec.c
diff options
context:
space:
mode:
authormskold@mysql.com <>2005-04-13 16:24:17 +0200
committermskold@mysql.com <>2005-04-13 16:24:17 +0200
commitadd3fd3cca1ee381ac17633719421bc0fdd10c64 (patch)
treea1492386b6bc2738d5f8216a4814cf7d15ec4dad /myisam/mi_dynrec.c
parent32221d9b9e17867e5b2596e7ae36b0aa08dcc6fb (diff)
parente39ba639341241ebf59917499b2d4ccb161bb44f (diff)
downloadmariadb-git-add3fd3cca1ee381ac17633719421bc0fdd10c64.tar.gz
Merge
Diffstat (limited to 'myisam/mi_dynrec.c')
-rw-r--r--myisam/mi_dynrec.c11
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);