grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] sort target list in grub-mkimage help output to make it easier t


From: Andrey Borzenkov
Subject: [PATCH] sort target list in grub-mkimage help output to make it easier to read
Date: Sat, 7 Dec 2013 17:27:53 +0400

---
 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]