#include <stdio.h> #include "my_dir.h" int main (int argc, char *argv[]) { int nb_files, i; struct file_list flist; /* --------------------------------------------------- */ /* Check the command line arguments */ /* --------------------------------------------------- */ if (argc != 2) { fprintf (stderr, "\nUsage: test_dir dir\n"); return 1; } /* --------------------------------------------------- */ /* List ALL entries of a given directory */ /* --------------------------------------------------- */ nb_files = read_directory (argv[1], &flist); if (nb_files == -1) { fprintf (stderr, "\nread_directory() failed\n"); return 1; } fprintf (stdout, "\nNumber of used entries: %d", flist.num); fprintf (stdout, "\nNumber of allocated entries: %d", flist.total_alloc); fprintf (stdout, "\nDirectory entries (all):"); for (i=0; i<flist.num; i++) { fprintf (stdout, "\n -> %s", (flist.list)[i]); fflush (stdout); } free_file_list (&flist); /* --------------------------------------------------- */ /* List ONLY sub directories */ /* --------------------------------------------------- */ nb_files = read_directory_only (argv[1], &flist); if (nb_files == -1) { fprintf (stderr, "\nread_directory_only() failed\n"); return 1; } fprintf (stdout, "\nNumber of used entries: %d", flist.num); fprintf (stdout, "\nNumber of allocated entries: %d", flist.total_alloc); fprintf (stdout, "\nDirectory entries (sub directories only):"); for (i=0; i<flist.num; i++) { fprintf (stdout, "\n -> %s", (flist.list)[i]); fflush (stdout); } free_file_list (&flist); return 0; }