User Tools

Site Tools


user:jbrant:systems:ls1.c
/** ls1.c
 ** purpose  list contents of a directory ofr directories
 ** action  I no arge, use .  else list files in args
 **/
#include     <stdio.h>
#include     <sys/types.h>
#include     <dirent.h>
#include     <stdlib.h>

void do_ls(char []);

main(int ac, char *av[])
{

        if (ac == 1)
                do_ls(".");
        else
                while ( --ac)
                {
                        printf("%s:\n", *++av );
                        do_ls( *av );
                }

}

void do_ls(char dirname[])
/*
 *   list files in directory called dirname
 */
{

        DIR             *dir_ptr;               /* the directiory */
        struct dirent   *direntp;               /* each entry     */

        if  ( ( dir_ptr = opendir( dirname ) ) == NULL)
                fprintf(stderr, "ls1: cannot open %s\n", dirname);
        else
        {
                while (( direntp = readdir( dir_ptr)) != NULL)
                        printf("%s\n", direntp->d_name );
                closedir(dir_ptr);
        }

}
user/jbrant/systems/ls1.c.txt · Last modified: 2010/11/29 16:15 by jbrant