add grub_qsort_strcmp to use when sorting array of strings

Compare function used in qsort gets arguments by reference, so strcmp
cannot be used directly - it expects pointer to char, but gets pointer
to pointer to char.

Introduce new helper grub_qsort_strcmp and use it in grub-install.
This helper is going to be used in a couple more places as well so
add it to global file, not in grub-install.c.
This commit is contained in:
Andrey Borzenkov 2013-12-07 14:29:00 +04:00
parent ad73cc3312
commit 3100cdc7f9
4 changed files with 18 additions and 1 deletions

View file

@ -586,7 +586,7 @@ device_map_check_duplicates (const char *dev_map)
fclose (fp);
qsort (d, filled, sizeof (d[0]), (int (*) (const void *, const void *))strcmp);
qsort (d, filled, sizeof (d[0]), grub_qsort_strcmp);
for (i = 0; i + 1 < filled; i++)
if (strcmp (d[i], d[i+1]) == 0)