if (print == PRINT_FS)
{
- struct stat st;
+ if (path)
+ {
+ struct stat st;
- stat (path, &st);
+ stat (path, &st);
- if (S_ISREG (st.st_mode))
- {
- /* Regular file. Verify that we can read it properly. */
-
- grub_file_t file;
- char *rel_path;
- grub_util_info ("reading %s via OS facilities", path);
- filebuf_via_sys = grub_util_read_image (path);
-
- rel_path = make_system_path_relative_to_its_root (path);
- asprintf (&grub_path, "(%s)%s", drive_name, rel_path);
- free (rel_path);
- grub_util_info ("reading %s via GRUB facilities", grub_path);
- file = grub_file_open (grub_path);
- if (! file)
- grub_util_error ("can not open %s via GRUB facilities", grub_path);
- filebuf_via_grub = xmalloc (file->size);
- grub_file_read (file, filebuf_via_grub, file->size);
-
- grub_util_info ("comparing");
-
- if (memcmp (filebuf_via_grub, filebuf_via_sys, file->size))
- grub_util_error ("files differ");
+ if (S_ISREG (st.st_mode))
+ {
+ /* Regular file. Verify that we can read it properly. */
+
+ grub_file_t file;
+ char *rel_path;
+ grub_util_info ("reading %s via OS facilities", path);
+ filebuf_via_sys = grub_util_read_image (path);
+
+ rel_path = make_system_path_relative_to_its_root (path);
+ asprintf (&grub_path, "(%s)%s", drive_name, rel_path);
+ free (rel_path);
+ grub_util_info ("reading %s via GRUB facilities", grub_path);
+ file = grub_file_open (grub_path);
+ if (! file)
+ grub_util_error ("can not open %s via GRUB facilities", grub_path);
+ filebuf_via_grub = xmalloc (file->size);
+ grub_file_read (file, filebuf_via_grub, file->size);
+
+ grub_util_info ("comparing");
+
+ if (memcmp (filebuf_via_grub, filebuf_via_sys, file->size))
+ grub_util_error ("files differ");
+ }
}
printf ("%s\n", fs->name);