[PATCH] fat: cleanup and optimization of checksum

Signed-off-by: OGAWA Hirofumi <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
OGAWA Hirofumi 2005-10-30 15:03:49 -08:00 • committed by Linus Torvalds
commit 451cbaa1c3
3 changed files with 14 additions and 10 deletions

View file

@ -263,7 +263,6 @@ parse_record:
unsigned char id;
unsigned char slot;
unsigned char slots;
unsigned char sum;
unsigned char alias_checksum;
if (!unicode) {
@ -317,9 +316,7 @@ parse_long:
goto parse_long;
if (IS_FREE(de->name) || (de->attr & ATTR_VOLUME))
continue;
for (sum = 0, i = 0; i < 11; i++)
sum = (((sum&1)<<7)|((sum&0xfe)>>1)) + de->name[i];
if (sum != alias_checksum)
if (fat_checksum(de->name) != alias_checksum)
nr_slots = 0;
}
@ -479,7 +476,6 @@ GetNew:
unsigned char id;
unsigned char slot;
unsigned char slots;
unsigned char sum;
unsigned char alias_checksum;
if (!unicode) {
@ -534,9 +530,7 @@ ParseLong:
goto ParseLong;
if (IS_FREE(de->name) || (de->attr & ATTR_VOLUME))
goto RecEnd;
for (sum = 0, i = 0; i < 11; i++)
sum = (((sum&1)<<7)|((sum&0xfe)>>1)) + de->name[i];
if (sum != alias_checksum)
if (fat_checksum(de->name) != alias_checksum)
long_slots = 0;
}