* 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> 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if * 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) int match (const char *name, const struct grub_dirhook_info *info)
{ {
if (basename[0] == 0 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)) : grub_strcmp (name, basename) == 0))
{ {
found = 1; found = 1;
@ -410,7 +410,7 @@ check_file (const char *dir, const char *basename)
else else
path = dir; path = dir;
fs->dir (dev, path, match); fs->dir (dev, path[0] ? path : "/", match);
if (grub_errno == 0 && basename[0] == 0) if (grub_errno == 0 && basename[0] == 0)
found = 1; found = 1;
@ -505,8 +505,8 @@ wildcard_expand (const char *s, char ***strs)
*p = 0; *p = 0;
if (!check_file (n, p + 1)) if (!check_file (n, p + 1))
{ {
grub_dprintf ("expand", "file <%s> not found\n", grub_dprintf ("expand", "file <%s> in <%s> not found\n",
start); p + 1, n);
grub_free (o); grub_free (o);
grub_free (n); grub_free (n);
continue; continue;