Browse Source

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>
Naoki Hayama 3 years ago
parent
commit
ad5fb9f2e6
1 changed files with 7 additions and 2 deletions
  1. 7 2
      tools/mkimage.c

+ 7 - 2
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);