diff options
author | Matt Fleming <matt.fleming@intel.com> | 2013-04-25 15:14:18 +0100 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2013-04-25 15:24:35 +0100 |
commit | faff52ef2bd3dca503a6fef3129f02284e9b6ca4 (patch) | |
tree | 9828522a2e4cbed3a35f4a268b7712353227a449 /linux | |
parent | 461a38b0a59e58567b94f9a74ce34c1baded29ba (diff) | |
download | syslinux-faff52ef2bd3dca503a6fef3129f02284e9b6ca4.tar.gz |
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@jackkelly.name>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'linux')
-rwxr-xr-x | linux/syslinux.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/linux/syslinux.c b/linux/syslinux.c index f4749ead..f64834bd 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; } |