mkimage: Skip adding non-existent IDs to a list
authorNaoki Hayama <naoki.hayama@lineo.co.jp>
Wed, 7 Oct 2020 02:21:55 +0000 (11:21 +0900)
committerTom Rini <trini@konsulko.com>
Thu, 22 Oct 2020 13:54:52 +0000 (09:54 -0400)
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>
tools/mkimage.c

index 43078d0..e786082 100644 (file)
@@ -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);