From 8a864d669363308c43cc4a072c3911fc4bd933af Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski Date: Mon, 3 Apr 2023 16:20:09 +0200 Subject: [PATCH] tools: replace alphasort() with versionsort() Sorting chip names with alphasort() results in gpiochip2 coming after gpiochip19 as it only find the lexicographic order of strings. Switching to using versionsort() makes it look better and the order is more logical with the numbering being taken into account. Reviewed-by: Kent Gibson Signed-off-by: Bartosz Golaszewski --- configure.ac | 2 +- tools/tools-common.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 7d72c24..c1005a9 100644 --- a/configure.ac +++ b/configure.ac @@ -119,7 +119,7 @@ AS_IF([test "x$with_tools" = xtrue], AC_CHECK_FUNC([daemon], [], [FUNC_NOT_FOUND_TOOLS([daemon])]) AC_CHECK_FUNC([asprintf], [], [FUNC_NOT_FOUND_LIB([asprintf])]) AC_CHECK_FUNC([scandir], [], [FUNC_NOT_FOUND_LIB([scandir])]) - AC_CHECK_FUNC([alphasort], [], [FUNC_NOT_FOUND_LIB([alphasort])]) + AC_CHECK_FUNC([versionsort], [], [FUNC_NOT_FOUND_LIB([versionsort])]) AS_IF([test "x$with_gpioset_interactive" = xtrue], [PKG_CHECK_MODULES([LIBEDIT], [libedit >= 3.1])]) ]) diff --git a/tools/tools-common.c b/tools/tools-common.c index e5f6fc1..64592d3 100644 --- a/tools/tools-common.c +++ b/tools/tools-common.c @@ -469,7 +469,7 @@ int all_chip_paths(char ***paths_ptr) struct dirent **entries; char **paths; - num_chips = scandir("/dev/", &entries, chip_dir_filter, alphasort); + num_chips = scandir("/dev/", &entries, chip_dir_filter, versionsort); if (num_chips < 0) die_perror("unable to scan /dev"); -- 2.30.2