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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
diff --git CodeLite/clFilesCollector.cpp CodeLite/clFilesCollector.cpp
index 6bbdc24c5..462fcdc13 100644
--- CodeLite/clFilesCollector.cpp
+++ CodeLite/clFilesCollector.cpp
@@ -9,6 +9,12 @@
#include <wx/filename.h>
#include <wx/tokenzr.h>
+
+static wxString RealPath(const wxString& fullpath)
+{
+ return fullpath;
+}
+
clFilesScanner::clFilesScanner() {}
clFilesScanner::~clFilesScanner() {}
@@ -102,12 +108,12 @@ size_t clFilesScanner::Scan(const wxString& rootFolder, std::vector<wxString>& f
#if defined(__FreeBSD__)
((FileUtils::IsSymlink(fullpath) && excludeFolders.count(FileUtils::RealPath(fullpath)))
#else
- (excludeFolders.count(FileUtils::RealPath(fullpath))
+ (excludeFolders.count(RealPath(fullpath))
#endif
|| IsRelPathContainedInSpec(rootFolder, fullpath, excludeFolders)));
if(isDirectory && !isExcludeDir) {
// Traverse into this folder
- wxString realPath = FileUtils::RealPath(fullpath);
+ wxString realPath = RealPath(fullpath);
if(Visited.insert(realPath).second) {
Q.push(fullpath);
}
@@ -138,8 +144,8 @@ size_t clFilesScanner::Scan(const wxString& rootFolder, const wxString& filespec
std::queue<wxString> Q;
std::unordered_set<wxString> Visited;
- Q.push(FileUtils::RealPath(rootFolder));
- Visited.insert(FileUtils::RealPath(rootFolder));
+ Q.push(RealPath(rootFolder));
+ Visited.insert(RealPath(rootFolder));
size_t nCount = 0;
while(!Q.empty()) {
@@ -163,7 +169,7 @@ size_t clFilesScanner::Scan(const wxString& rootFolder, const wxString& filespec
if(isDirectory /* a folder */ &&
!FileUtils::WildMatch(excludeFoldersSpecArr, filename) /* does not match the exclude folder spec */) {
// Traverse into this folder
- wxString real_path = FileUtils::RealPath(fullpath);
+ wxString real_path = RealPath(fullpath);
if(Visited.count(real_path) == 0) {
Visited.insert(real_path);
Q.push(fullpath);
@@ -244,8 +250,8 @@ void clFilesScanner::ScanWithCallbacks(const wxString& rootFolder, std::function
std::vector<wxString> Q;
std::unordered_set<wxString> Visited;
- Q.push_back(FileUtils::RealPath(rootFolder));
- Visited.insert(FileUtils::RealPath(rootFolder));
+ Q.push_back(RealPath(rootFolder));
+ Visited.insert(RealPath(rootFolder));
while(!Q.empty()) {
wxString dirpath = Q.front();
@@ -284,7 +290,7 @@ void clFilesScanner::ScanWithCallbacks(const wxString& rootFolder, std::function
if(on_folder_cb(fullpath)) {
// Traverse into this folder
- wxString real_path = FileUtils::RealPath(fullpath);
+ wxString real_path = RealPath(fullpath);
if(Visited.insert(real_path).second) {
Q.push_back(fullpath);
}
@@ -298,4 +304,4 @@ void clFilesScanner::ScanWithCallbacks(const wxString& rootFolder, std::function
// notify about this batch of files
on_file_cb(files);
}
-}
\ No newline at end of file
+}
diff --git LiteEditor/mainbook.cpp LiteEditor/mainbook.cpp
index 9798c7189..971eaad7a 100644
--- LiteEditor/mainbook.cpp
+++ LiteEditor/mainbook.cpp
@@ -440,7 +440,7 @@ int MainBook::FindEditorIndexByFullPath(const wxString& fullpath)
#ifdef __WXGTK__
// On gtk either fileName or the editor filepath (or both) may be (or their paths contain) symlinks
- wxString fileNameDest = CLRealPath(fullpath);
+ wxString fileNameDest = FileUtils::RealPath(fullpath);
#endif
for(size_t i = 0; i < m_book->GetPageCount(); i++) {
@@ -474,7 +474,7 @@ int MainBook::FindEditorIndexByFullPath(const wxString& fullpath)
#if defined(__WXGTK__)
// Try again, dereferencing the editor fpath
- wxString editorDest = CLRealPath(unixStyleFile);
+ wxString editorDest = FileUtils::RealPath(unixStyleFile);
if(editorDest.Cmp(fullpath) == 0 || editorDest.Cmp(fileNameDest) == 0) {
return i;
}
@@ -1751,7 +1751,7 @@ WelcomePage* MainBook::GetOrCreateWelcomePage()
clEditor* MainBook::OpenFileAsync(const wxString& file_name, std::function<void(IEditor*)>&& callback)
{
- wxString real_path = CLRealPath(file_name);
+ wxString real_path = FileUtils::RealPath(file_name);
auto editor = FindEditor(real_path);
if(editor) {
push_callback(std::move(callback), real_path);
diff --git Plugin/globals.cpp Plugin/globals.cpp
index 68e87c0b1..2800d4b44 100644
--- Plugin/globals.cpp
+++ Plugin/globals.cpp
@@ -1220,7 +1220,7 @@ wxFileName wxReadLink(const wxFileName& filename)
if(wxIsFileSymlink(filename)) {
#if defined(__WXGTK__)
// Use 'realpath' on Linux, otherwise this breaks on relative symlinks, and (untested) on symlinks-to-symlinks
- return wxFileName(CLRealPath(filename.GetFullPath()));
+ return wxFileName(FileUtils::RealPath(filename.GetFullPath()));
#else // OSX
wxFileName realFileName;
@@ -1243,7 +1243,7 @@ wxFileName wxReadLink(const wxFileName& filename)
wxString CLRealPath(const wxString& filepath) // This is readlink on steroids: it also makes-absolute, and dereferences
// any symlinked dirs in the path
{
- return FileUtils::RealPath(filepath);
+ return filepath;
}
int wxStringToInt(const wxString& str, int defval, int minval, int maxval)
|