From fbffcee63dde1cba27021177d2ed9ba4f3792a57 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 13 Jun 2012 11:14:38 -0400 Subject: add (currently stubbed due to stubbed strverscmp) versionsort function based on patch by Emil Renner Berthing, with minor changes to dirent.h for LFS64 and organization of declarations this code should work unmodified once a real strverscmp is added, but I've been hesitant to add it because the GNU strverscmp behavior is harmful in a lot of cases (for instance if you have numeric filenames in hex). at some point I plan on trying to design a variant of the algorithm that behaves better on a mix of filename styles. --- src/dirent/versionsort.c | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/dirent/versionsort.c (limited to 'src/dirent/versionsort.c') diff --git a/src/dirent/versionsort.c b/src/dirent/versionsort.c new file mode 100644 index 00000000..97696105 --- /dev/null +++ b/src/dirent/versionsort.c @@ -0,0 +1,8 @@ +#define _GNU_SOURCE +#include +#include + +int versionsort(const struct dirent **a, const struct dirent **b) +{ + return strverscmp((*a)->d_name, (*b)->d_name); +} -- cgit v1.2.1