Lines Matching defs:FileName
97 std::string FileName = DirPlusFile(Dir, FindInfo.cFileName);
106 ListFilesInDirRecursive(FileName, Epoch, V, false);
108 else if (IsFile(FileName, FindInfo.dwFileAttributes))
109 V->push_back(FileName);
148 static size_t ParseDrive(const std::string &FileName, const size_t Offset,
150 if (Offset + 1 >= FileName.size() || FileName[Offset + 1] != ':')
152 if (Offset + 2 >= FileName.size() || !IsSeparator(FileName[Offset + 2])) {
163 static size_t ParseFileName(const std::string &FileName, const size_t Offset) {
165 const size_t End = FileName.size();
166 for(; Pos < End && !IsSeparator(FileName[Pos]); ++Pos)
173 static size_t ParseDir(const std::string &FileName, const size_t Offset) {
175 const size_t End = FileName.size();
176 if (Pos >= End || IsSeparator(FileName[Pos]))
178 for(; Pos < End && !IsSeparator(FileName[Pos]); ++Pos)
188 static size_t ParseServerAndShare(const std::string &FileName,
191 if (!(Res = ParseDir(FileName, Pos)))
194 if (!(Res = ParseDir(FileName, Pos)))
214 static size_t ParseLocation(const std::string &FileName) {
217 if ((Res = ParseCustomString(FileName, Pos, R"(\\?\)"))) {
219 if ((Res = ParseCustomString(FileName, Pos, R"(UNC\)"))) {
221 if ((Res = ParseServerAndShare(FileName, Pos)))
225 if ((Res = ParseDrive(FileName, Pos, false)))
230 if (Pos < FileName.size() && IsSeparator(FileName[Pos])) {
232 if (Pos < FileName.size() && IsSeparator(FileName[Pos])) {
234 if ((Res = ParseServerAndShare(FileName, Pos)))
241 if ((Res = ParseDrive(FileName, Pos)))
247 std::string DirName(const std::string &FileName) {
248 size_t LocationLen = ParseLocation(FileName);
250 while ((Res = ParseDir(FileName, LocationLen + DirLen)))
252 size_t FileLen = ParseFileName(FileName, LocationLen + DirLen);
254 if (LocationLen + DirLen + FileLen != FileName.size()) {
255 Printf("DirName() failed for \"%s\", invalid path.\n", FileName.c_str());
264 while (DirLen && !IsSeparator(FileName[LocationLen + DirLen - 1]))
274 return std::string(".\\").append(FileName, 0, DirLen);
277 return FileName.substr(0, LocationLen + DirLen);