From 1edb21ca4e2337a6c5ea3a99f67934ac5fcabb55 Mon Sep 17 00:00:00 2001 From: David Capello Date: Thu, 9 Apr 2015 13:46:52 -0300 Subject: [PATCH] Implement base::list_files() for Unix-like platforms --- src/base/fs_unix.h | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/base/fs_unix.h b/src/base/fs_unix.h index 398554308..bd6cc660b 100644 --- a/src/base/fs_unix.h +++ b/src/base/fs_unix.h @@ -4,13 +4,15 @@ // This file is released under the terms of the MIT license. // Read LICENSE.txt for more information. -#include +#include #include +#include #include -#include + +#include +#include #include #include -#include #if __APPLE__ #include @@ -143,4 +145,21 @@ std::string get_user_docs_folder() return "/"; } +std::vector list_files(const std::string& path) +{ + std::vector files; + DIR* handle = opendir(path.c_str()); + if (handle) { + dirent* item; + while ((item = readdir(handle)) != nullptr) { + std::string filename = item->d_name; + if (filename != "." && filename != "..") + files.push_back(filename); + } + + closedir(handle); + } + return files; +} + }