diff options
| -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 602edae6b..2445f1e78 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;  		} |