From: Naoki Hayama <naoki.hayama@lineo.co.jp>
Date: Wed, 7 Oct 2020 02:21:55 +0000 (+0900)
Subject: mkimage: Skip adding non-existent IDs to a list
X-Git-Tag: v2025.01-rc5-pxa1908~2165^2~40
X-Git-Url: http://git.dujemihanovic.xyz/html/static/gitweb.css?a=commitdiff_plain;h=ad5fb9f2e66e605941f78791f552c6bf6e522a9d;p=u-boot.git

mkimage: Skip adding non-existent IDs to a list

In show_valid_options(), this patch introduces checking whether
a category has an entry ID. If not, adding it to a list for output
is skipped before calling qsort().
This patch will affect all kinds of image header categories
(-A, -C, -O and -T flags).

Signed-off-by: Naoki Hayama <naoki.hayama@lineo.co.jp>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

diff --git a/tools/mkimage.c b/tools/mkimage.c
index 43078d075c..e78608293e 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -51,8 +51,13 @@ static int show_valid_options(enum ih_category category)
 		return -ENOMEM;
 
 	/* Sort the names in order of short name for easier reading */
-	for (item = 0; item < count; item++)
-		order[item] = item;
+	for (i = 0, item = 0; i < count; i++, item++) {
+		while (!genimg_cat_has_id(category, item) && i < count) {
+			item++;
+			count--;
+		}
+		order[i] = item;
+	}
 	cur_category = category;
 	qsort(order, count, sizeof(int), h_compare_category_name);