On 15 December 2014 at 02:23, Bin Meng <bmeng...@gmail.com> wrote: > On Mon, Dec 15, 2014 at 8:15 AM, Simon Glass <s...@chromium.org> wrote: >> When a file is missing it helps to know which file. Update the error message >> to print this information. >> >> Signed-off-by: Simon Glass <s...@chromium.org> >> --- >> >> tools/ifdtool.c | 30 ++++++++++++++++++------------ >> 1 file changed, 18 insertions(+), 12 deletions(-) >> >> diff --git a/tools/ifdtool.c b/tools/ifdtool.c >> index 4cdfdcc..8afb6b5 100644 >> --- a/tools/ifdtool.c >> +++ b/tools/ifdtool.c >> @@ -465,6 +465,16 @@ static int write_regions(char *image, int size) >> return ret; >> } >> >> +static int perror_fname(const char *fmt, const char *fname) >> +{ >> + char msg[strlen(fmt) + strlen(fname) + 1]; >> + >> + sprintf(msg, fmt, fname); >> + perror(msg); >> + >> + return -1; >> +} >> + >> /** >> * write_image() - Write the image to a file >> * >> @@ -481,10 +491,10 @@ static int write_image(char *filename, char *image, >> int size) >> >> new_fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | >> S_IWUSR | S_IRGRP | S_IROTH); >> - if (write(new_fd, image, size) != size) { >> - perror("Error while writing"); >> - return -1; >> - } >> + if (new_fd < 0) >> + return perror_fname("Could not open file '%s'", filename); >> + if (write(new_fd, image, size) != size) >> + return perror_fname("Could not write file '%s'", filename); >> close(new_fd); >> >> return 0; >> @@ -586,14 +596,10 @@ int open_for_read(const char *fname, int *sizep) >> int fd = open(fname, O_RDONLY); >> struct stat buf; >> >> - if (fd == -1) { >> - perror("Could not open file"); >> - return -1; >> - } >> - if (fstat(fd, &buf) == -1) { >> - perror("Could not stat file"); >> - return -1; >> - } >> + if (fd == -1) >> + return perror_fname("Could not open file '%s'", fname); >> + if (fstat(fd, &buf) == -1) >> + return perror_fname("Could not stat file '%s'", fname); >> *sizep = buf.st_size; >> debug("File %s is %d bytes\n", fname, *sizep); >> >> -- > > Reviewed-by: Bin Meng <bmeng...@gmail.com>
Applied to u-boot-x86. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot