From: Alexander Couzens Date: Tue, 9 Apr 2019 17:03:34 +0000 (+0200) Subject: tools/mktplinkfw2: show exact exceed bytes when the image is to big X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=3a1a6dca9090f1840bff3034eee3a9cbfd6cf600;p=openwrt%2Fstaging%2Flynxis.git tools/mktplinkfw2: show exact exceed bytes when the image is to big When an image is too big it's useful to show how many bytes the image is to big. Signed-off-by: Alexander Couzens --- diff --git a/tools/firmware-utils/src/mktplinkfw2.c b/tools/firmware-utils/src/mktplinkfw2.c index 9eb226fba8..b32996890c 100644 --- a/tools/firmware-utils/src/mktplinkfw2.c +++ b/tools/firmware-utils/src/mktplinkfw2.c @@ -216,6 +216,7 @@ static void usage(int status) static int check_options(void) { int ret; + int exceed_bytes; if (inspect_info.file_name) { ret = get_file_stat(&inspect_info); @@ -309,21 +310,24 @@ static int check_options(void) DBG("rootfs offset aligned to 0x%u", rootfs_ofs); - if (kernel_len + rootfs_info.file_size > - layout->fw_max_len - sizeof(struct fw_header)) { - ERR("images are too big"); + exceed_bytes = (kernel_len + rootfs_info.file_size) - + (layout->fw_max_len - sizeof(struct fw_header)); + if (exceed_bytes > 0) { + ERR("images are too big by %i bytes", exceed_bytes); return -1; } } else { - if (kernel_info.file_size > - rootfs_ofs - sizeof(struct fw_header)) { - ERR("kernel image is too big"); + exceed_bytes = kernel_info.file_size - + (rootfs_ofs - sizeof(struct fw_header)); + if (exceed_bytes > 0) { + ERR("images are too big by %i bytes", exceed_bytes); return -1; } - if (rootfs_info.file_size > - (layout->fw_max_len - rootfs_ofs)) { - ERR("rootfs image is too big"); + exceed_bytes = rootfs_info.file_size - + (layout->fw_max_len - rootfs_ofs); + if (exceed_bytes > 0) { + ERR("images are too big by %i bytes", exceed_bytes); return -1; } }