On Sat, Aug 30, 2008 at 03:07:21AM +0800, Bean wrote:
> Hi,
>
> This patch allow case insensitive filename in Win32 and DOS namespace.
> Names in POSIX namespace would still be case sensitive. It also remove
> names in the DOS namespace, as they will reappear in Win32 namespace.
Nice work :-)
> --- a/fs/fshelp.c
> +++ b/fs/fshelp.c
> @@ -80,7 +80,13 @@ grub_fshelp_find_file (const char *path,
> grub_fshelp_node_t rootnode,
> enum grub_fshelp_filetype filetype,
> grub_fshelp_node_t node)
> {
> - if (type == GRUB_FSHELP_UNKNOWN || grub_strcmp (name, filename))
> + int case_insensitive = (filetype & GRUB_FSHELP_CASE_INSENSITIVE);
> +
> + filetype &= ~GRUB_FSHELP_CASE_INSENSITIVE;
> + if (filetype == GRUB_FSHELP_UNKNOWN ||
> + (grub_strcmp (name, filename) &&
> + (! case_insensitive ||
> + grub_strncasecmp (name, filename, LONG_MAX))))
Since `case_insensitive' is only used once, maybe we could skip this
variable?
--
Robert Millan
The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
how) you may access your data; but nobody's threatening your freedom: we
still allow you to remove your data and not access it at all."
_______________________________________________
Grub-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/grub-devel