1fec65c98Schristos #include <sys/types.h>
2fec65c98Schristos #include <sys/stat.h>
3fec65c98Schristos #include <fts.h>
4fec65c98Schristos #include <stdio.h>
5*9508192eSchristos #include <string.h>
6*9508192eSchristos
7*9508192eSchristos #ifdef FTS_COMPARE_CONST
8*9508192eSchristos int fts_compare(const FTSENT *const *, const FTSENT *const *);
9*9508192eSchristos #else
10*9508192eSchristos int fts_compare(const FTSENT **, const FTSENT **);
11*9508192eSchristos #endif
12fec65c98Schristos
13fec65c98Schristos int
main(void)14fec65c98Schristos main(void)
15fec65c98Schristos {
16fec65c98Schristos const char *argv[2];
17fec65c98Schristos FTS *ftsp;
18fec65c98Schristos FTSENT *entry;
19fec65c98Schristos
20fec65c98Schristos argv[0] = ".";
21fec65c98Schristos argv[1] = (char *)NULL;
22fec65c98Schristos
23fec65c98Schristos ftsp = fts_open((char * const *)argv,
24*9508192eSchristos FTS_PHYSICAL | FTS_NOCHDIR, fts_compare);
25fec65c98Schristos
26fec65c98Schristos if (ftsp == NULL) {
27fec65c98Schristos perror("fts_open");
289ff1f2acSchristos return 1;
29fec65c98Schristos }
30fec65c98Schristos
31fec65c98Schristos entry = fts_read(ftsp);
32fec65c98Schristos
33fec65c98Schristos if (entry == NULL) {
34fec65c98Schristos perror("fts_read");
359ff1f2acSchristos return 1;
36fec65c98Schristos }
37fec65c98Schristos
38fec65c98Schristos if (fts_set(ftsp, entry, FTS_SKIP) != 0) {
39fec65c98Schristos perror("fts_set");
409ff1f2acSchristos return 1;
41fec65c98Schristos }
42fec65c98Schristos
43fec65c98Schristos if (fts_close(ftsp) != 0) {
44fec65c98Schristos perror("fts_close");
459ff1f2acSchristos return 1;
46fec65c98Schristos }
47fec65c98Schristos
489ff1f2acSchristos return 0;
49fec65c98Schristos }
50*9508192eSchristos
51*9508192eSchristos int
52*9508192eSchristos #ifdef FTS_COMPARE_CONST
fts_compare(const FTSENT * const * a,const FTSENT * const * b)53*9508192eSchristos fts_compare(const FTSENT *const *a, const FTSENT *const *b)
54*9508192eSchristos #else
55*9508192eSchristos fts_compare(const FTSENT **a, const FTSENT **b)
56*9508192eSchristos #endif
57*9508192eSchristos {
58*9508192eSchristos return strcmp((*a)->fts_name, (*b)->fts_name);
59*9508192eSchristos }
60