--- util/mkimage.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/util/mkimage.c b/util/mkimage.c index ad12f8a..94f7edb 100644 --- a/util/mkimage.c +++ b/util/mkimage.c @@ -959,21 +959,27 @@ grub_util_get_target_name (const struct grub_install_image_target_desc *t) char * grub_install_get_image_targets_string (void) { + const char **arr = xmalloc (sizeof (char *) * ARRAY_SIZE (image_targets)); int format_len = 0; char *formats; char *ptr; unsigned i; for (i = 0; i < ARRAY_SIZE (image_targets); i++) - format_len += strlen (image_targets[i].names[0]) + 2; + { + arr[i] = image_targets[i].names[0]; + format_len += strlen (image_targets[i].names[0]) + 2; + } ptr = formats = xmalloc (format_len); + qsort (arr, ARRAY_SIZE (image_targets), sizeof (char *), grub_qsort_strcmp); for (i = 0; i < ARRAY_SIZE (image_targets); i++) { - strcpy (ptr, image_targets[i].names[0]); - ptr += strlen (image_targets[i].names[0]); + strcpy (ptr, arr[i]); + ptr += strlen (arr[i]); *ptr++ = ','; *ptr++ = ' '; } ptr[-2] = 0; + free (arr); return formats; } -- tg: (f585c90..) u/grub-mkimage-sort-targets (depends on: master) _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel