summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-freebsd/freebsd-usbin/files/freebsd-usbin-9.1-kldxref.patch')
-rw-r--r--sys-freebsd/freebsd-usbin/files/freebsd-usbin-9.1-kldxref.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/sys-freebsd/freebsd-usbin/files/freebsd-usbin-9.1-kldxref.patch b/sys-freebsd/freebsd-usbin/files/freebsd-usbin-9.1-kldxref.patch
new file mode 100644
index 000000000000..95bd665ded6f
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/freebsd-usbin-9.1-kldxref.patch
@@ -0,0 +1,30 @@
+Index: usr.sbin/kldxref/kldxref.c
+===================================================================
+--- usr.sbin/kldxref/kldxref.c (revision 265111)
++++ usr.sbin/kldxref/kldxref.c (working copy)
+@@ -274,6 +274,16 @@ usage(void)
+ exit(1);
+ }
+
++static int
++compare(const FTSENT *const *a, const FTSENT *const *b)
++{
++ if ((*a)->fts_info == FTS_D && (*b)->fts_info != FTS_D)
++ return 1;
++ if ((*a)->fts_info != FTS_D && (*b)->fts_info == FTS_D)
++ return -1;
++ return strcmp((*a)->fts_name, (*b)->fts_name);
++}
++
+ int
+ main(int argc, char *argv[])
+ {
+@@ -315,7 +325,7 @@ main(int argc, char *argv[])
+ err(1, "%s", argv[0]);
+ }
+
+- ftsp = fts_open(argv, fts_options, 0);
++ ftsp = fts_open(argv, fts_options, compare);
+ if (ftsp == NULL)
+ exit(1);
+