File: FileList.cpp

package info (click to toggle)
librepfunc 1.10.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 424 kB
  • sloc: cpp: 1,601; makefile: 270
file content (28 lines) | stat: -rw-r--r-- 876 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*******************************************************************************
 * librepfunc - a collection of common functions, classes and tools.
 * See the README file for copyright information and how to reach the author.
 ******************************************************************************/
#include <dirent.h>    // readdir(), DIR, struct dirent
#include <repfunc.h>


cFileList::cFileList(std::string aDirectory, std::string Filter) {
  for(DIR* dirp = opendir(aDirectory.c_str()); dirp; ) {
     struct dirent* d = readdir(dirp);

     if (d != nullptr) {
        std::string name(d->d_name);
        if (Filter.empty() or (name.find(Filter) != std::string::npos))
           priv.push_back(name);
        }
     else {
        closedir(dirp);
        dirp = nullptr;
        }
     }
}


std::vector<std::string> cFileList::List(void) {
  return priv;
}