diff options
author | Tom Rix <Tom.Rix@windriver.com> | 2009-05-20 07:55:41 -0500 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2009-06-12 20:45:48 +0200 |
commit | 651351fe980b20217b014b9a888398f18d77951c (patch) | |
tree | 824ca211e6a32fc106ff316ae8d6ac3caa81234d /fs | |
parent | ecb1dc892297d5d99876907328fed732feefeab2 (diff) | |
download | u-boot-651351fe980b20217b014b9a888398f18d77951c.tar.gz u-boot-651351fe980b20217b014b9a888398f18d77951c.tar.xz u-boot-651351fe980b20217b014b9a888398f18d77951c.zip |
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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/fat/fat.c | 36 |
1 files changed, 3 insertions, 33 deletions
diff --git a/fs/fat/fat.c b/fs/fat/fat.c index 602edae6b0..2445f1e784 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -140,28 +140,6 @@ dirdelim(char *str) 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. */ @@ -673,7 +651,6 @@ read_bootsectandvi(boot_sector *bs, volume_info *volinfo, int *fatsize) { __u8 block[FS_BLOCK_SIZE]; volume_info *vistart; - char *fstype; if (disk_read(0, 1, block) < 0) { 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)); - /* - * 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 (compare_sign(FAT32_SIGN, vistart->fs_type) == 0) { + if (strncmp(FAT32_SIGN, vistart->fs_type, SIGNLEN) == 0) { return 0; } } else { - if (compare_sign(FAT12_SIGN, vistart->fs_type) == 0) { + if (strncmp(FAT12_SIGN, vistart->fs_type, SIGNLEN) == 0) { *fatsize = 12; return 0; } - if (compare_sign(FAT16_SIGN, vistart->fs_type) == 0) { + if (strncmp(FAT16_SIGN, vistart->fs_type, SIGNLEN) == 0) { *fatsize = 16; return 0; } |