kldxref: Do not depend on the directory order.
Sort the filenames to get a consistent result between machines of the same architecture. Also, sort FTS_D entries after other entries so kldxref -R works properly in the uncommon case that a directory contains both subdirectories and modules. Previously, this may have happened to work, depending on the order of files in the directory. PR: bin/182098 Submitted by: Derek Schrock (original version) Tested by: Derek Schrock Approved by: re (delphij) MFC after: 1 week
This commit is contained in:
parent
c28c09c1f0
commit
6d9cb20bd7
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=256060
@ -274,6 +274,16 @@ usage(void)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user