From 6ccb5835ff55d85156be91473c598eca9d6cb9a6 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Wed, 4 Nov 2020 16:57:41 +0100 Subject: Revert "Make Lint Happy" This reverts commit ad148587dcf5244c2d2011dba339786c765c54c4. --- src/filesys.cpp | 282 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 143 insertions(+), 139 deletions(-) (limited to 'src/filesys.cpp') diff --git a/src/filesys.cpp b/src/filesys.cpp index e09867d89..0bc351669 100644 --- a/src/filesys.cpp +++ b/src/filesys.cpp @@ -57,7 +57,7 @@ std::vector GetDirListing(const std::string &pathstring) dwError = GetLastError(); if (dwError != ERROR_FILE_NOT_FOUND && dwError != ERROR_PATH_NOT_FOUND) { errorstream << "GetDirListing: FindFirstFile error." - << " Error is " << dwError << std::endl; + << " Error is " << dwError << std::endl; } } else { // NOTE: @@ -74,9 +74,8 @@ std::vector GetDirListing(const std::string &pathstring) while (FindNextFile(hFind, &FindFileData) != 0) { DirListNode node; node.name = FindFileData.cFileName; - node.dir = FindFileData.dwFileAttributes & - FILE_ATTRIBUTE_DIRECTORY; - if (node.name != "." && node.name != "..") + node.dir = FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY; + if(node.name != "." && node.name != "..") listing.push_back(node); } @@ -84,10 +83,10 @@ std::vector GetDirListing(const std::string &pathstring) FindClose(hFind); if (dwError != ERROR_NO_MORE_FILES) { errorstream << "GetDirListing: FindNextFile error." - << " Error is " << dwError << std::endl; + << " Error is " << dwError << std::endl; listing.clear(); return listing; - } + } } return listing; } @@ -95,9 +94,9 @@ std::vector GetDirListing(const std::string &pathstring) bool CreateDir(const std::string &path) { bool r = CreateDirectory(path.c_str(), NULL); - if (r == true) + if(r == true) return true; - if (GetLastError() == ERROR_ALREADY_EXISTS) + if(GetLastError() == ERROR_ALREADY_EXISTS) return true; return false; } @@ -115,7 +114,8 @@ bool IsPathAbsolute(const std::string &path) bool IsDir(const std::string &path) { DWORD attr = GetFileAttributes(path.c_str()); - return (attr != INVALID_FILE_ATTRIBUTES && (attr & FILE_ATTRIBUTE_DIRECTORY)); + return (attr != INVALID_FILE_ATTRIBUTES && + (attr & FILE_ATTRIBUTE_DIRECTORY)); } bool IsDirDelimiter(char c) @@ -129,27 +129,27 @@ bool RecursiveDelete(const std::string &path) if (!IsDir(path)) { infostream << "RecursiveDelete: Deleting file " << path << std::endl; if (!DeleteFile(path.c_str())) { - errorstream << "RecursiveDelete: Failed to delete file " << path - << std::endl; + errorstream << "RecursiveDelete: Failed to delete file " + << path << std::endl; return false; } return true; } - infostream << "RecursiveDelete: Deleting content of directory " << path - << std::endl; + infostream << "RecursiveDelete: Deleting content of directory " + << path << std::endl; std::vector content = GetDirListing(path); - for (const DirListNode &n : content) { + for (const DirListNode &n: content) { std::string fullpath = path + DIR_DELIM + n.name; if (!RecursiveDelete(fullpath)) { errorstream << "RecursiveDelete: Failed to recurse to " - << fullpath << std::endl; + << fullpath << std::endl; return false; } } infostream << "RecursiveDelete: Deleting directory " << path << std::endl; if (!RemoveDirectory(path.c_str())) { - errorstream << "Failed to recursively delete directory " << path - << std::endl; + errorstream << "Failed to recursively delete directory " + << path << std::endl; return false; } return true; @@ -159,11 +159,14 @@ bool DeleteSingleFileOrEmptyDirectory(const std::string &path) { DWORD attr = GetFileAttributes(path.c_str()); bool is_directory = (attr != INVALID_FILE_ATTRIBUTES && - (attr & FILE_ATTRIBUTE_DIRECTORY)); - if (!is_directory) { + (attr & FILE_ATTRIBUTE_DIRECTORY)); + if(!is_directory) + { bool did = DeleteFile(path.c_str()); return did; - } else { + } + else + { bool did = RemoveDirectory(path.c_str()); return did; } @@ -172,16 +175,14 @@ bool DeleteSingleFileOrEmptyDirectory(const std::string &path) std::string TempPath() { DWORD bufsize = GetTempPath(0, NULL); - if (bufsize == 0) { - errorstream << "GetTempPath failed, error = " << GetLastError() - << std::endl; + if(bufsize == 0){ + errorstream<<"GetTempPath failed, error = "< buf(bufsize); DWORD len = GetTempPath(bufsize, &buf[0]); - if (len == 0 || len > bufsize) { - errorstream << "GetTempPath failed, error = " << GetLastError() - << std::endl; + if(len == 0 || len > bufsize){ + errorstream<<"GetTempPath failed, error = "< GetDirListing(const std::string &pathstring) DIR *dp; struct dirent *dirp; - if ((dp = opendir(pathstring.c_str())) == NULL) { - // infostream<<"Error("< GetDirListing(const std::string &pathstring) // NOTE: // Be very sure to not include '..' in the results, it will // result in an epic failure when deleting stuff. - if (strcmp(dirp->d_name, ".") == 0 || strcmp(dirp->d_name, "..") == 0) + if(strcmp(dirp->d_name, ".") == 0 || strcmp(dirp->d_name, "..") == 0) continue; DirListNode node; @@ -226,7 +227,7 @@ std::vector GetDirListing(const std::string &pathstring) Also we don't know whether symlinks are directories or not. */ #ifdef _DIRENT_HAVE_D_TYPE - if (dirp->d_type != DT_UNKNOWN && dirp->d_type != DT_LNK) + if(dirp->d_type != DT_UNKNOWN && dirp->d_type != DT_LNK) isdir = (dirp->d_type == DT_DIR); #endif /* _DIRENT_HAVE_D_TYPE */ @@ -234,10 +235,8 @@ std::vector GetDirListing(const std::string &pathstring) Was d_type DT_UNKNOWN, DT_LNK or nonexistent? If so, try stat(). */ - if (isdir == -1) { - struct stat statbuf - { - }; + if(isdir == -1) { + struct stat statbuf{}; if (stat((pathstring + "/" + node.name).c_str(), &statbuf)) continue; isdir = ((statbuf.st_mode & S_IFDIR) == S_IFDIR); @@ -261,14 +260,13 @@ bool CreateDir(const std::string &path) if (errno == EEXIST) return true; return false; + } bool PathExists(const std::string &path) { - struct stat st - { - }; - return (stat(path.c_str(), &st) == 0); + struct stat st{}; + return (stat(path.c_str(),&st) == 0); } bool IsPathAbsolute(const std::string &path) @@ -278,10 +276,8 @@ bool IsPathAbsolute(const std::string &path) bool IsDir(const std::string &path) { - struct stat statbuf - { - }; - if (stat(path.c_str(), &statbuf)) + struct stat statbuf{}; + if(stat(path.c_str(), &statbuf)) return false; // Actually error; but certainly not a directory return ((statbuf.st_mode & S_IFDIR) == S_IFDIR); } @@ -297,13 +293,14 @@ bool RecursiveDelete(const std::string &path) Execute the 'rm' command directly, by fork() and execve() */ - infostream << "Removing \"" << path << "\"" << std::endl; + infostream<<"Removing \""< &dirs, const std::string &dir) { - static const std::set chars_to_ignore = {'_', '.'}; + static const std::set chars_to_ignore = { '_', '.' }; if (dir.empty() || !IsDir(dir)) return; dirs.push_back(dir); @@ -391,8 +390,10 @@ std::vector GetRecursiveDirs(const std::string &dir) return result; } -void GetRecursiveSubPaths(const std::string &path, std::vector &dst, - bool list_files, const std::set &ignore) +void GetRecursiveSubPaths(const std::string &path, + std::vector &dst, + bool list_files, + const std::set &ignore) { std::vector content = GetDirListing(path); for (const auto &n : content) { @@ -410,11 +411,11 @@ bool DeletePaths(const std::vector &paths) { bool success = true; // Go backwards to succesfully delete the output of GetRecursiveSubPaths - for (int i = paths.size() - 1; i >= 0; i--) { + for(int i=paths.size()-1; i>=0; i--){ const std::string &path = paths[i]; bool did = DeleteSingleFileOrEmptyDirectory(path); - if (!did) { - errorstream << "Failed to delete " << path << std::endl; + if(!did){ + errorstream<<"Failed to delete "< &paths) bool RecursiveDeleteContent(const std::string &path) { - infostream << "Removing content of \"" << path << "\"" << std::endl; + infostream<<"Removing content of \""< list = GetDirListing(path); for (const DirListNode &dln : list) { - if (trim(dln.name) == "." || trim(dln.name) == "..") + if(trim(dln.name) == "." || trim(dln.name) == "..") continue; std::string childpath = path + DIR_DELIM + dln.name; bool r = RecursiveDelete(childpath); - if (!r) { - errorstream << "Removing \"" << childpath << "\" failed" - << std::endl; + if(!r) { + errorstream << "Removing \"" << childpath << "\" failed" << std::endl; return false; } } @@ -444,14 +444,15 @@ bool CreateAllDirs(const std::string &path) std::vector tocreate; std::string basepath = path; - while (!PathExists(basepath)) { + while(!PathExists(basepath)) + { tocreate.push_back(basepath); basepath = RemoveLastPathComponent(basepath); - if (basepath.empty()) + if(basepath.empty()) break; } - for (int i = tocreate.size() - 1; i >= 0; i--) - if (!CreateDir(tocreate[i])) + for(int i=tocreate.size()-1;i>=0;i--) + if(!CreateDir(tocreate[i])) return false; return true; } @@ -459,16 +460,16 @@ bool CreateAllDirs(const std::string &path) bool CopyFileContents(const std::string &source, const std::string &target) { FILE *sourcefile = fopen(source.c_str(), "rb"); - if (sourcefile == NULL) { - errorstream << source << ": can't open for reading: " << strerror(errno) - << std::endl; + if(sourcefile == NULL){ + errorstream< 0) { + if(readbytes > 0){ fwrite(readbuffer, 1, readbytes, targetfile); } - if (feof(sourcefile) || ferror(sourcefile)) { + if(feof(sourcefile) || ferror(sourcefile)){ // flush destination file to catch write errors // (e.g. disk full) fflush(targetfile); done = true; } - if (ferror(targetfile)) { - errorstream << target << ": IO error: " << strerror(errno) - << std::endl; + if(ferror(targetfile)){ + errorstream< 0) pos++; @@ -665,7 +670,7 @@ std::string RemoveRelativePathComponents(std::string path) // remove trailing dir delimiters pos = path.size(); - while (pos != 0 && IsDirDelimiter(path[pos - 1])) + while (pos != 0 && IsDirDelimiter(path[pos-1])) pos--; return path.substr(0, pos); } @@ -677,8 +682,7 @@ std::string AbsolutePath(const std::string &path) #else char *abs_path = realpath(path.c_str(), NULL); #endif - if (!abs_path) - return ""; + if (!abs_path) return ""; std::string abs_path_str(abs_path); free(abs_path); return abs_path_str; @@ -717,10 +721,9 @@ bool safeWriteToFile(const std::string &path, const std::string &content) // Move the finished temporary file over the real file #ifdef _WIN32 - // When creating the file, it can cause Windows Search indexer, virus scanners and - // other apps to query the file. This can make the move file call below fail. We - // retry up to 5 times, with a 1ms sleep between, before we consider the whole - // operation failed + // When creating the file, it can cause Windows Search indexer, virus scanners and other apps + // to query the file. This can make the move file call below fail. + // We retry up to 5 times, with a 1ms sleep between, before we consider the whole operation failed int number_attempts = 0; while (number_attempts < 5) { rename_success = MoveFileEx(tmp_file.c_str(), path.c_str(), @@ -753,3 +756,4 @@ bool Rename(const std::string &from, const std::string &to) } } // namespace fs + -- cgit v1.2.3