mkimage: Fix error message if write less data then expected
Add a new error message in case the size of data written are shorter than the one expected. Currently, it will lead to the following error message: "mkimage: Write error on uImage: Success" This is not explicit when the error is because the device doesn't have enough space. Let's use a more understandable message: "mkimage: Write only 4202432/4682240 bytes, probably no space left on the device" Signed-off-by: Mylène Josserand <mylene.josserand@collabora.com> Reviewed-by: Walter Lozano <walter.lozano@collabora.com>
This commit is contained in:
parent
5c6a4d5a27
commit
dd85dc55eb
@ -674,7 +674,7 @@ copy_file (int ifd, const char *datafile, int pad)
|
||||
int zero = 0;
|
||||
uint8_t zeros[4096];
|
||||
int offset = 0;
|
||||
int size;
|
||||
int size, ret;
|
||||
struct image_type_params *tparams = imagetool_get_type(params.type);
|
||||
|
||||
memset(zeros, 0, sizeof(zeros));
|
||||
@ -730,9 +730,16 @@ copy_file (int ifd, const char *datafile, int pad)
|
||||
}
|
||||
|
||||
size = sbuf.st_size - offset;
|
||||
if (write(ifd, ptr + offset, size) != size) {
|
||||
fprintf (stderr, "%s: Write error on %s: %s\n",
|
||||
params.cmdname, params.imagefile, strerror(errno));
|
||||
|
||||
ret = write(ifd, ptr + offset, size);
|
||||
if (ret != size) {
|
||||
if (ret < 0)
|
||||
fprintf (stderr, "%s: Write error on %s: %s\n",
|
||||
params.cmdname, params.imagefile, strerror(errno));
|
||||
else if (ret < size)
|
||||
fprintf (stderr, "%s: Write only %d/%d bytes, "\
|
||||
"probably no space left on the device\n",
|
||||
params.cmdname, ret, size);
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user