* grub-core/commands/wildcard.c (check_file): Fix bad logic.

put explicit "/" for empty path.
	(wildcard_expand): Improve dprintf.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2012-06-27 21:13:06 +02:00
parent c59bdff709
commit 58eee08fff
2 changed files with 10 additions and 4 deletions

View file

@ -1,3 +1,9 @@
2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/commands/wildcard.c (check_file): Fix bad logic.
put explicit "/" for empty path.
(wildcard_expand): Improve dprintf.
2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if

View file

@ -381,7 +381,7 @@ check_file (const char *dir, const char *basename)
int match (const char *name, const struct grub_dirhook_info *info)
{
if (basename[0] == 0
&& (info->case_insensitive ? grub_strcasecmp (name, basename) == 0
|| (info->case_insensitive ? grub_strcasecmp (name, basename) == 0
: grub_strcmp (name, basename) == 0))
{
found = 1;
@ -410,7 +410,7 @@ check_file (const char *dir, const char *basename)
else
path = dir;
fs->dir (dev, path, match);
fs->dir (dev, path[0] ? path : "/", match);
if (grub_errno == 0 && basename[0] == 0)
found = 1;
@ -505,8 +505,8 @@ wildcard_expand (const char *s, char ***strs)
*p = 0;
if (!check_file (n, p + 1))
{
grub_dprintf ("expand", "file <%s> not found\n",
start);
grub_dprintf ("expand", "file <%s> in <%s> not found\n",
p + 1, n);
grub_free (o);
grub_free (n);
continue;