[syslinux:elflink] linux: Clear up error message
syslinux-bot for Matt Fleming
matt.fleming at intel.com
Thu May 2 05:57:06 PDT 2013
Commit-ID: faff52ef2bd3dca503a6fef3129f02284e9b6ca4
Gitweb: http://www.syslinux.org/commit/faff52ef2bd3dca503a6fef3129f02284e9b6ca4
Author: Matt Fleming <matt.fleming at intel.com>
AuthorDate: Thu, 25 Apr 2013 15:14:18 +0100
Committer: Matt Fleming <matt.fleming at intel.com>
CommitDate: Thu, 25 Apr 2013 15:24:35 +0100
linux: Clear up error message
Passing opt.device to perror() in do_open_file() results in confusing
error messages, as Jack reports,
Last night, I was trying to install syslinux (5.01) to a SD card of
mine, writing to a subdirectory to keep the layout neat:
syslinux-5.01/linux# ./syslinux -i -d /boot /dev/mmcblk0p1
/dev/mmcblk0p1: No such file or directory
The message is coming from do_open_file() in syslinux.c: the call to
open() fails because the containing directory isn't present, and then it
calls perror(opt.device).
We should instead be passing 'name' to perror() so that we know _which_
file doesn't exist.
Reported-by: Jack Kelly <jack at jackkelly.name>
Signed-off-by: Matt Fleming <matt.fleming at intel.com>
---
linux/syslinux.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/linux/syslinux.c b/linux/syslinux.c
index f4749ea..f64834b 100755
--- a/linux/syslinux.c
+++ b/linux/syslinux.c
@@ -251,7 +251,7 @@ int do_open_file(char *name)
unlink(name);
fd = open(name, O_WRONLY | O_CREAT | O_TRUNC, 0444);
if (fd < 0)
- perror(opt.device);
+ perror(name);
return fd;
}
More information about the Syslinux-commits
mailing list