******** fig4.6 ********** void list_directory( Directory_or_file D ) { list_dir( D, 0 ); } void list_dir( Directory_or_file D, unsigned int depth ) { /*1*/ if( D is a legitimate entry ) { /*2*/ print_name( depth, D ); /*3*/ if( D is a directory ) /*4*/ for each child, c, of D /*5*/ list_dir( c, depth+1 ); } }