What about similar architectures with dissimilar name? Like i386-efi and
x86_64-efi ? And do we really want arm to come first with most common
platforms ending somewhere in the middle?
On 07.12.2013 14:27, Andrey Borzenkov wrote:
> ---
>  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;
>  }
> 


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to