summaryrefslogtreecommitdiff
path: root/soltools/mkdepend/collectdircontent.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'soltools/mkdepend/collectdircontent.cxx')
-rw-r--r--soltools/mkdepend/collectdircontent.cxx86
1 files changed, 0 insertions, 86 deletions
diff --git a/soltools/mkdepend/collectdircontent.cxx b/soltools/mkdepend/collectdircontent.cxx
deleted file mode 100644
index 884456a38..000000000
--- a/soltools/mkdepend/collectdircontent.cxx
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-#include "collectdircontent.hxx"
-
-PathFilePair IncludesCollection::split_path(const string& filePath) {
- string sepU = "/";
- string sepW = "\\";
- string::size_type pos = filePath.rfind (sepU);
- string::size_type posW = filePath.rfind (sepW);
- if ((posW != string::npos) && ((posW > pos) || (pos == string::npos))) pos = posW;
- if (pos != string::npos) {
- string dirName = filePath.substr(0, pos);
- return PathFilePair(dirName, filePath.substr(pos + 1, filePath.length()));
- } else
- return PathFilePair(".", filePath);
-};
-
-void IncludesCollection::add_to_collection(const string& dirPath) {
- DirContent dirContent;
-#if defined( WNT )
- WIN32_FIND_DATA FindFileData;
- HANDLE hFind;
- hFind = FindFirstFile((dirPath + "\\*").c_str(), &FindFileData);
- if (hFind == INVALID_HANDLE_VALUE) {
- // Invalid File Handle - no need to try it anymore
- allIncludes.insert(EntriesPair(dirPath, DirContent()));
- return;
- };
- do {
- string winFileName(FindFileData.cFileName);
- transform(winFileName.begin(), winFileName.end(), winFileName.begin(), ::tolower);
- dirContent.insert(winFileName);
- } while (FindNextFile(hFind, &FindFileData));
-#else
- DIR *pdir;
- dirent *pent;
- pdir = opendir(dirPath.c_str()); //"." refers to the current dir
- if (!pdir) {
- // Invalid File Handle - no need to try it anymore
- allIncludes.insert(EntriesPair(dirPath, DirContent()));
- return;
- }
- while ((pent = readdir(pdir))) {
- dirContent.insert(pent->d_name);
- };
- closedir(pdir);
-#endif // defined( WNT )
- allIncludes.insert(EntriesPair(dirPath, dirContent));
-};
-
-bool IncludesCollection::exists(string filePath) {
-#if defined( WNT )
- transform(filePath.begin(), filePath.end(), filePath.begin(), ::tolower);
-#endif // defined( WNT )
- PathFilePair dirFile = split_path(filePath);
- string dirPath = dirFile.first;
- string fileName = dirFile.second;
- DirMap::iterator mapIter = allIncludes.find(dirPath);
- if (mapIter == allIncludes.end()) {
- add_to_collection(dirPath);
- mapIter = allIncludes.find(dirPath);
- };
- DirContent dirContent = (*mapIter).second;
- DirContent::iterator dirIter = dirContent.find(fileName);
- if (dirIter == dirContent.end()) {
- return false;
- } else {
- return true;
- };
-};
-
-extern "C" {
-
- IncludesCollection * create_IncludesCollection() {
- return new IncludesCollection;
- }
-
- void delete_IncludesCollection(IncludesCollection *m) {
- delete m;
- }
-
- int call_IncludesCollection_exists(IncludesCollection* m, const char * filePath) {
- return m->exists(filePath);
- }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */