* grub-core/fs/fat.c: Display the filename when file is not found.
* grub-core/fs/fshelp.c: Likewise.
* grub-core/fs/hfs.c: Likewise.
* grub-core/fs/jfs.c: Likewise.
* grub-core/fs/minix.c: Likewise.
* grub-core/fs/ufs.c: Likewise.
---
ChangeLog.filename-file-not-found | 8 ++++++++
grub-core/fs/fat.c | 11 +++++++++--
grub-core/fs/fshelp.c | 2 +-
grub-core/fs/hfs.c | 2 +-
grub-core/fs/jfs.c | 2 +-
grub-core/fs/minix.c | 2 +-
grub-core/fs/ufs.c | 2 +-
7 files changed, 22 insertions(+), 7 deletions(-)
create mode 100644 ChangeLog.filename-file-not-found
diff --git a/ChangeLog.filename-file-not-found
b/ChangeLog.filename-file-not-found
new file mode 100644
index 0000000..f735f52
--- /dev/null
+++ b/ChangeLog.filename-file-not-found
@@ -0,0 +1,8 @@
+ Display the path of the file when file is not found
+
+ * grub-core/fs/fat.c: Display the filename when file is not found.
+ * grub-core/fs/fshelp.c: Likewise.
+ * grub-core/fs/hfs.c: Likewise.
+ * grub-core/fs/jfs.c: Likewise.
+ * grub-core/fs/minix.c: Likewise.
+ * grub-core/fs/ufs.c: Likewise.
diff --git a/grub-core/fs/fat.c b/grub-core/fs/fat.c
index 8905094..04859da 100644
--- a/grub-core/fs/fat.c
+++ b/grub-core/fs/fat.c
@@ -608,6 +608,7 @@ grub_fat_find_dir (grub_disk_t disk, struct grub_fat_data
*data,
const struct grub_dirhook_info *info))
{
char *dirname, *dirp;
+ char *origpath = NULL;
int call_hook;
int found = 0;
@@ -648,6 +649,10 @@ grub_fat_find_dir (grub_disk_t disk, struct grub_fat_data
*data,
return 0;
}
+ origpath = grub_strdup (path);
+ if (!origpath)
+ return 0;
+
/* Extract a directory name. */
while (*path == '/')
path++;
@@ -659,7 +664,7 @@ grub_fat_find_dir (grub_disk_t disk, struct grub_fat_data
*data,
dirname = grub_malloc (len + 1);
if (! dirname)
- return 0;
+ goto fail;
grub_memcpy (dirname, path, len);
dirname[len] = '\0';
@@ -672,9 +677,11 @@ grub_fat_find_dir (grub_disk_t disk, struct grub_fat_data
*data,
grub_fat_iterate_dir (disk, data, iter_hook);
if (grub_errno == GRUB_ERR_NONE && ! found && !call_hook)
- grub_error (GRUB_ERR_FILE_NOT_FOUND, "file not found");
+ grub_error (GRUB_ERR_FILE_NOT_FOUND, "file `%s' not found", origpath);
+ fail:
grub_free (dirname);
+ grub_free (origpath);
return found ? dirp : 0;
}
diff --git a/grub-core/fs/fshelp.c b/grub-core/fs/fshelp.c
index d0b1e49..177b2a8 100644
--- a/grub-core/fs/fshelp.c
+++ b/grub-core/fs/fshelp.c
@@ -195,7 +195,7 @@ grub_fshelp_find_file (const char *path, grub_fshelp_node_t
rootnode,
name = next;
}
- return grub_error (GRUB_ERR_FILE_NOT_FOUND, "file not found");
+ return grub_error (GRUB_ERR_FILE_NOT_FOUND, "file `%s' not found", path);
}
if (!path || path[0] != '/')
diff --git a/grub-core/fs/hfs.c b/grub-core/fs/hfs.c
index cef8563..706d0ae 100644
--- a/grub-core/fs/hfs.c
+++ b/grub-core/fs/hfs.c
@@ -915,7 +915,7 @@ grub_hfs_find_dir (struct grub_hfs_data *data, const char
*path,
if (! grub_hfs_find_node (data, (char *) &key, data->cat_root,
0, (char *) &fdrec.frec, sizeof (fdrec.frec)))
{
- grub_error (GRUB_ERR_FILE_NOT_FOUND, "file not found");
+ grub_error (GRUB_ERR_FILE_NOT_FOUND, "file `%s' not found", origpath);
goto fail;
}
diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c
index c9839a2..5447f79 100644
--- a/grub-core/fs/jfs.c
+++ b/grub-core/fs/jfs.c
@@ -684,7 +684,7 @@ grub_jfs_find_file (struct grub_jfs_data *data, const char
*path)
}
grub_jfs_closedir (diro);
- grub_error (GRUB_ERR_FILE_NOT_FOUND, "file not found");
+ grub_error (GRUB_ERR_FILE_NOT_FOUND, "file `%s' not found", path);
return grub_errno;
}
diff --git a/grub-core/fs/minix.c b/grub-core/fs/minix.c
index aa5b9a0..fd4c290 100644
--- a/grub-core/fs/minix.c
+++ b/grub-core/fs/minix.c
@@ -387,7 +387,7 @@ grub_minix_find_file (struct grub_minix_data *data, const
char *path)
pos += sizeof (ino) + data->filename_size;
} while (pos < GRUB_MINIX_INODE_SIZE (data));
- grub_error (GRUB_ERR_FILE_NOT_FOUND, "file not found");
+ grub_error (GRUB_ERR_FILE_NOT_FOUND, "file `%s' not found", path);
return grub_errno;
}
diff --git a/grub-core/fs/ufs.c b/grub-core/fs/ufs.c
index 40cf068..5dd01ab 100644
--- a/grub-core/fs/ufs.c
+++ b/grub-core/fs/ufs.c
@@ -512,7 +512,7 @@ grub_ufs_find_file (struct grub_ufs_data *data, const char
*path)
pos += grub_le_to_cpu16 (dirent.direntlen);
} while (pos < INODE_SIZE (data));
- grub_error (GRUB_ERR_FILE_NOT_FOUND, "file not found");
+ grub_error (GRUB_ERR_FILE_NOT_FOUND, "file `%s' not found", path);
return grub_errno;
}
_______________________________________________
Grub-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/grub-devel