2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>

Bug and warning fixes

	* include/grub/i386/pc/init.h (grub_stop_floppy): added missing 
	declaration
	* commands/test.c (test_parse): fixed bug with file tests and corrected
	declaration of find_file
This commit is contained in:
phcoder 2009-04-26 15:09:30 +00:00
parent 4006f85c89
commit a5562c306f
3 changed files with 22 additions and 11 deletions

View file

@ -1,3 +1,12 @@
2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
Bug and warning fixes
* include/grub/i386/pc/init.h (grub_stop_floppy): added missing
declaration
* commands/test.c (test_parse): fixed bug with file tests and corrected
declaration of find_file
2009-04-26 Pavel Roskin <proski@gnu.org> 2009-04-26 Pavel Roskin <proski@gnu.org>
* Makefile.in: Don't install empty manual pages if help2man is * Makefile.in: Don't install empty manual pages if help2man is

View file

@ -55,22 +55,23 @@ test_parse (char **args, int *argn, int argc)
} }
/* Check if file exists and fetch its information. */ /* Check if file exists and fetch its information. */
void get_fileinfo (char *pathname) void get_fileinfo (char *path)
{ {
char *filename, *path; char *filename, *pathname;
char *device_name; char *device_name;
grub_fs_t fs; grub_fs_t fs;
grub_device_t dev; grub_device_t dev;
/* A hook for iterating directories. */ /* A hook for iterating directories. */
auto int find_file (const char *cur_filename, auto int find_file (const char *cur_filename,
struct grub_dirhook_info info); const struct grub_dirhook_info *info);
int find_file (const char *cur_filename, struct grub_dirhook_info info) int find_file (const char *cur_filename,
const struct grub_dirhook_info *info)
{ {
if ((info.case_insensitive ? grub_strcasecmp (cur_filename, filename) if ((info->case_insensitive ? grub_strcasecmp (cur_filename, filename)
: grub_strcmp (cur_filename, filename)) == 0) : grub_strcmp (cur_filename, filename)) == 0)
{ {
file_info = info; file_info = *info;
file_exists = 1; file_exists = 1;
return 1; return 1;
} }
@ -78,7 +79,7 @@ test_parse (char **args, int *argn, int argc)
} }
file_exists = 0; file_exists = 0;
device_name = grub_file_get_device_name (pathname); device_name = grub_file_get_device_name (path);
dev = grub_device_open (device_name); dev = grub_device_open (device_name);
if (! dev) if (! dev)
{ {
@ -87,11 +88,11 @@ test_parse (char **args, int *argn, int argc)
} }
fs = grub_fs_probe (dev); fs = grub_fs_probe (dev);
path = grub_strchr (pathname, ')'); pathname = grub_strchr (path, ')');
if (! path) if (! pathname)
path = pathname; pathname = path;
else else
path++; pathname++;
/* Remove trailing '/'. */ /* Remove trailing '/'. */
while (*pathname && pathname[grub_strlen (pathname) - 1] == '/') while (*pathname && pathname[grub_strlen (pathname) - 1] == '/')

View file

@ -46,5 +46,6 @@ void EXPORT_FUNC (grub_reboot) (void);
* use APM even if it is available. */ * use APM even if it is available. */
void EXPORT_FUNC (grub_halt) (int no_apm); void EXPORT_FUNC (grub_halt) (int no_apm);
void EXPORT_FUNC(grub_stop_floppy) (void);
#endif /* ! GRUB_INIT_MACHINE_HEADER */ #endif /* ! GRUB_INIT_MACHINE_HEADER */