Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a2d1c23 authored by Xavier Ducrohet's avatar Xavier Ducrohet Committed by Android Git Automerger
Browse files

am ddb8e3b2: am 9bac0a9f: Merge "Fix to compile for windows"

* commit 'ddb8e3b2':
  Fix to compile for windows
parents ea9e6d24 ddb8e3b2
Loading
Loading
Loading
Loading
+25 −4
Original line number Diff line number Diff line
@@ -9,8 +9,9 @@
#include <utils/String8.h>
#include <utils/KeyedVector.h>


#include <iostream>
#include <dirent.h>
#include <sys/stat.h>

#include "DirectoryWalker.h"
#include "FileFinder.h"
@@ -21,6 +22,25 @@ using android::String8;
using std::cout;
using std::endl;

// Private function to check whether a file is a directory or not
bool isDirectory(const char* filename) {
    struct stat fileStat;
    if (stat(filename, &fileStat) == -1) {
        return false;
    }
    return(S_ISDIR(fileStat.st_mode));
}


// Private function to check whether a file is a regular file or not
bool isFile(const char* filename) {
    struct stat fileStat;
    if (stat(filename, &fileStat) == -1) {
        return false;
    }
    return(S_ISREG(fileStat.st_mode));
}

bool SystemFileFinder::findFiles(String8 basePath, Vector<String8>& extensions,
                                 KeyedVector<String8,time_t>& fileStore,
                                 DirectoryWalker* dw)
@@ -45,14 +65,14 @@ bool SystemFileFinder::findFiles(String8 basePath, Vector<String8>& extensions,

        String8 fullPath = basePath.appendPathCopy(entryName);
        // If this entry is a directory we'll recurse into it
        if (entry->d_type == DT_DIR) {
        if (isDirectory(fullPath.string()) ) {
            DirectoryWalker* copy = dw->clone();
            findFiles(fullPath, extensions, fileStore,copy);
            delete copy;
        }

        // If this entry is a file, we'll pass it over to checkAndAddFile
        if (entry->d_type == DT_REG) {
        if (isFile(fullPath.string()) ) {
            checkAndAddFile(fullPath,dw->entryStats(),extensions,fileStore);
        }
    }
@@ -90,3 +110,4 @@ void SystemFileFinder::checkAndAddFile(String8 path, const struct stat* stats,
    cout << endl;
#endif //DEBUG
}
+2 −0
Original line number Diff line number Diff line
@@ -25,6 +25,8 @@ public:
    virtual bool findFiles(String8 basePath, Vector<String8>& extensions,
                           KeyedVector<String8,time_t>& fileStore,
                           DirectoryWalker* dw) = 0;

    virtual ~FileFinder() {};
};

class SystemFileFinder : public FileFinder {