mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-04-01 20:11:32 +00:00
FAT replace compare_sign with strncmp.
The static function compare_sign is only used to compare the fs_type string and does not do anything more than what strncmp does. The addition of the trailing '\0' to fs_type, while legal, is not needed because the it is never printed out and strncmp does not depend on NULL terminated strings. Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
This commit is contained in:
parent
ecb1dc8922
commit
651351fe98
1 changed files with 3 additions and 33 deletions
36
fs/fat/fat.c
36
fs/fat/fat.c
|
@ -140,28 +140,6 @@ dirdelim(char *str)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Match volume_info fs_type strings.
|
|
||||||
* Return 0 on match, -1 otherwise.
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
compare_sign(char *str1, char *str2)
|
|
||||||
{
|
|
||||||
char *end = str1+SIGNLEN;
|
|
||||||
|
|
||||||
while (str1 != end) {
|
|
||||||
if (*str1 != *str2) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
str1++;
|
|
||||||
str2++;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Extract zero terminated short name from a directory entry.
|
* Extract zero terminated short name from a directory entry.
|
||||||
*/
|
*/
|
||||||
|
@ -673,7 +651,6 @@ read_bootsectandvi(boot_sector *bs, volume_info *volinfo, int *fatsize)
|
||||||
{
|
{
|
||||||
__u8 block[FS_BLOCK_SIZE];
|
__u8 block[FS_BLOCK_SIZE];
|
||||||
volume_info *vistart;
|
volume_info *vistart;
|
||||||
char *fstype;
|
|
||||||
|
|
||||||
if (disk_read(0, 1, block) < 0) {
|
if (disk_read(0, 1, block) < 0) {
|
||||||
FAT_DPRINT("Error: reading block\n");
|
FAT_DPRINT("Error: reading block\n");
|
||||||
|
@ -706,23 +683,16 @@ read_bootsectandvi(boot_sector *bs, volume_info *volinfo, int *fatsize)
|
||||||
}
|
}
|
||||||
memcpy(volinfo, vistart, sizeof(volume_info));
|
memcpy(volinfo, vistart, sizeof(volume_info));
|
||||||
|
|
||||||
/*
|
|
||||||
* Terminate fs_type string. Writing past the end of vistart
|
|
||||||
* is ok - it's just the buffer.
|
|
||||||
*/
|
|
||||||
fstype = vistart->fs_type;
|
|
||||||
fstype[8] = '\0';
|
|
||||||
|
|
||||||
if (*fatsize == 32) {
|
if (*fatsize == 32) {
|
||||||
if (compare_sign(FAT32_SIGN, vistart->fs_type) == 0) {
|
if (strncmp(FAT32_SIGN, vistart->fs_type, SIGNLEN) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (compare_sign(FAT12_SIGN, vistart->fs_type) == 0) {
|
if (strncmp(FAT12_SIGN, vistart->fs_type, SIGNLEN) == 0) {
|
||||||
*fatsize = 12;
|
*fatsize = 12;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (compare_sign(FAT16_SIGN, vistart->fs_type) == 0) {
|
if (strncmp(FAT16_SIGN, vistart->fs_type, SIGNLEN) == 0) {
|
||||||
*fatsize = 16;
|
*fatsize = 16;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue