1275397Sbapt#include <sys/types.h> 2275397Sbapt#include <sys/stat.h> 3275397Sbapt#include <fts.h> 4275397Sbapt#include <stdio.h> 5316420Sbapt#include <string.h> 6275397Sbapt 7316420Sbapt#ifdef FTS_COMPARE_CONST 8316420Sbaptint fts_compare(const FTSENT *const *, const FTSENT *const *); 9316420Sbapt#else 10316420Sbaptint fts_compare(const FTSENT **, const FTSENT **); 11316420Sbapt#endif 12316420Sbapt 13275397Sbaptint 14275397Sbaptmain(void) 15275397Sbapt{ 16275397Sbapt const char *argv[2]; 17275397Sbapt FTS *ftsp; 18275397Sbapt FTSENT *entry; 19275397Sbapt 20275397Sbapt argv[0] = "."; 21275397Sbapt argv[1] = (char *)NULL; 22275397Sbapt 23275397Sbapt ftsp = fts_open((char * const *)argv, 24316420Sbapt FTS_PHYSICAL | FTS_NOCHDIR, fts_compare); 25275397Sbapt 26275397Sbapt if (ftsp == NULL) { 27275397Sbapt perror("fts_open"); 28294113Sbapt return 1; 29275397Sbapt } 30275397Sbapt 31275397Sbapt entry = fts_read(ftsp); 32275397Sbapt 33275397Sbapt if (entry == NULL) { 34275397Sbapt perror("fts_read"); 35294113Sbapt return 1; 36275397Sbapt } 37275397Sbapt 38275397Sbapt if (fts_set(ftsp, entry, FTS_SKIP) != 0) { 39275397Sbapt perror("fts_set"); 40294113Sbapt return 1; 41275397Sbapt } 42275397Sbapt 43275397Sbapt if (fts_close(ftsp) != 0) { 44275397Sbapt perror("fts_close"); 45294113Sbapt return 1; 46275397Sbapt } 47275397Sbapt 48294113Sbapt return 0; 49275397Sbapt} 50316420Sbapt 51316420Sbaptint 52316420Sbapt#ifdef FTS_COMPARE_CONST 53316420Sbaptfts_compare(const FTSENT *const *a, const FTSENT *const *b) 54316420Sbapt#else 55316420Sbaptfts_compare(const FTSENT **a, const FTSENT **b) 56316420Sbapt#endif 57316420Sbapt{ 58316420Sbapt return strcmp((*a)->fts_name, (*b)->fts_name); 59316420Sbapt} 60