From b70a8427ce941de7335d232729de78863188dc7f Mon Sep 17 00:00:00 2001 From: bean Date: Sun, 27 Jul 2008 14:46:45 +0000 Subject: [PATCH] 2008-07-27 Bean * fs/fat.c (GRUB_FAT_MAXFILE): New constant. (grub_fat_find_dir): Ignore case when comparing filename. --- ChangeLog | 5 +++++ fs/fat.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index bb55e2229..010e9d242 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-07-27 Bean + + * fs/fat.c (GRUB_FAT_MAXFILE): New constant. + (grub_fat_find_dir): Ignore case when comparing filename. + 2008-07-27 Bean * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to diff --git a/fs/fat.c b/fs/fat.c index 63979b4b4..8db176009 100644 --- a/fs/fat.c +++ b/fs/fat.c @@ -35,6 +35,8 @@ #define GRUB_FAT_ATTR_DIRECTORY 0x10 #define GRUB_FAT_ATTR_ARCHIVE 0x20 +#define GRUB_FAT_MAXFILE 256 + #define GRUB_FAT_ATTR_LONG_NAME (GRUB_FAT_ATTR_READ_ONLY \ | GRUB_FAT_ATTR_HIDDEN \ | GRUB_FAT_ATTR_SYSTEM \ @@ -629,7 +631,7 @@ grub_fat_find_dir (grub_disk_t disk, struct grub_fat_data *data, if (hook (filename, dir.attr & GRUB_FAT_ATTR_DIRECTORY)) break; } - else if (grub_strcmp (dirname, filename) == 0) + else if (grub_strncasecmp (dirname, filename, GRUB_FAT_MAXFILE) == 0) { if (call_hook) hook (filename, dir.attr & GRUB_FAT_ATTR_DIRECTORY);