#ident "$URL: svn://elmer/devel/SVN/SDDAS/trunk/libant/DirFilesByExt.c $ %D% SwRI" /* DirFilesByExt.c -- read dir and list files w/given extension */ #include #include #include #include "LinkList.h" /* DirFilesByExt -- read dir and list files w/given extension */ LinkList DirFilesByExt( char *pathname, char *ext) { DIR *dirp; /* UNIX nasty that describes directory */ struct dirent *dp; /* UNIX nasty that describes dir entry */ LinkList list=0; /* list of suitable files */ /* empty list if dir cannot open */ if (!(dirp = opendir(pathname))) return 0; /* build list of files w/given extension */ for (dp = readdir(dirp); dp; dp = readdir(dirp)) { char *p = strrchr(dp->d_name,'.'); if (p && !strcmp(p+1,ext)) list = LinkAppend(list,strdup(dp->d_name)); } closedir(dirp); return list; }