From 01e35e90043486e2ca7232ed485d4f42db30a68c Mon Sep 17 00:00:00 2001 From: badaix Date: Sat, 18 Dec 2021 15:16:59 +0100 Subject: [PATCH] Remove utils::file::exists --- common/utils/file_utils.hpp | 32 +++++++++++------------- server/streamreader/airplay_stream.cpp | 10 +++++--- server/streamreader/librespot_stream.cpp | 5 ++-- server/streamreader/process_stream.cpp | 13 +++------- server/streamreader/process_stream.hpp | 1 - 5 files changed, 27 insertions(+), 34 deletions(-) diff --git a/common/utils/file_utils.hpp b/common/utils/file_utils.hpp index b81b84a6..60c9b6d6 100644 --- a/common/utils/file_utils.hpp +++ b/common/utils/file_utils.hpp @@ -1,6 +1,6 @@ /*** This file is part of snapcast - Copyright (C) 2014-2020 Johannes Pohl + Copyright (C) 2014-2021 Johannes Pohl This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,15 +16,24 @@ along with this program. If not, see . ***/ -#ifndef FILE_UTILS_H -#define FILE_UTILS_H +#ifndef FILE_UTILS_HPP +#define FILE_UTILS_HPP +// local headers #include "string_utils.hpp" -#include + +// 3rd party headers + +// standard headers #ifndef WINDOWS #include #include +#include +#include #endif + +#include +#include #include #include @@ -35,26 +44,13 @@ namespace file { -static bool exists(const std::string& filename) -{ - if (filename.empty()) - return false; -#ifdef WINDOWS - DWORD dwAttrib = GetFileAttributes(filename.c_str()); - return (dwAttrib != INVALID_FILE_ATTRIBUTES); -#else - struct stat buffer; - return (stat(filename.c_str(), &buffer) == 0); -#endif -} - #ifndef WINDOWS static void do_chown(const std::string& file_path, const std::string& user_name, const std::string& group_name) { if (user_name.empty() && group_name.empty()) return; - if (!exists(file_path)) + if (!std::filesystem::exists(file_path)) return; uid_t uid = -1; diff --git a/server/streamreader/airplay_stream.cpp b/server/streamreader/airplay_stream.cpp index 908b1145..d7537629 100644 --- a/server/streamreader/airplay_stream.cpp +++ b/server/streamreader/airplay_stream.cpp @@ -24,9 +24,11 @@ #include "common/aixlog.hpp" #include "common/snap_exception.hpp" #include "common/utils.hpp" -#include "common/utils/file_utils.hpp" #include "common/utils/string_utils.hpp" +// standard headers +#include + using namespace std; namespace streamreader @@ -220,7 +222,7 @@ void AirplayStream::do_disconnect() { ProcessStream::do_disconnect(); // Shairpot-sync created but does not remove the pipe - if (utils::file::exists(pipePath_) && (remove(pipePath_.c_str()) != 0)) + if (std::filesystem::exists(pipePath_) && (remove(pipePath_.c_str()) != 0)) LOG(INFO, LOG_TAG) << "Failed to remove metadata pipe \"" << pipePath_ << "\": " << errno << "\n"; } @@ -281,10 +283,10 @@ void AirplayStream::initExeAndPath(const string& filename) { path_ = ""; exe_ = findExe(filename); - if (!fileExists(exe_) || (exe_ == "/")) + if (!std::filesystem::exists(exe_) || (exe_ == "/")) { exe_ = findExe("shairport-sync"); - if (!fileExists(exe_)) + if (!std::filesystem::exists(exe_)) throw SnapException("shairport-sync not found"); } diff --git a/server/streamreader/librespot_stream.cpp b/server/streamreader/librespot_stream.cpp index 3061f7d5..73ac1feb 100644 --- a/server/streamreader/librespot_stream.cpp +++ b/server/streamreader/librespot_stream.cpp @@ -26,6 +26,7 @@ #include "common/utils/string_utils.hpp" // standard headers +#include #include @@ -89,10 +90,10 @@ void LibrespotStream::initExeAndPath(const std::string& filename) { path_ = ""; exe_ = findExe(filename); - if (!fileExists(exe_) || (exe_ == "/")) + if (!std::filesystem::exists(exe_) || (exe_ == "/")) { exe_ = findExe("librespot"); - if (!fileExists(exe_)) + if (!std::filesystem::exists(exe_)) throw SnapException("librespot not found"); } diff --git a/server/streamreader/process_stream.cpp b/server/streamreader/process_stream.cpp index ef2ab464..1e80ae6d 100644 --- a/server/streamreader/process_stream.cpp +++ b/server/streamreader/process_stream.cpp @@ -28,6 +28,8 @@ // standard headers #include +#include +#include using namespace std; @@ -48,17 +50,10 @@ ProcessStream::ProcessStream(PcmStream::Listener* pcmListener, boost::asio::io_c } -bool ProcessStream::fileExists(const std::string& filename) const -{ - struct stat buffer; - return (stat(filename.c_str(), &buffer) == 0); -} - - std::string ProcessStream::findExe(const std::string& filename) const { /// check if filename exists - if (fileExists(filename)) + if (std::filesystem::exists(filename)) return filename; std::string exe = filename; @@ -95,7 +90,7 @@ void ProcessStream::initExeAndPath(const std::string& filename) exe_ = exe_.substr(exe_.find_last_of('/') + 1); } - if (!fileExists(path_ + exe_)) + if (!std::filesystem::exists(path_ + exe_)) throw SnapException("file not found: \"" + filename + "\""); } diff --git a/server/streamreader/process_stream.hpp b/server/streamreader/process_stream.hpp index b9bdd998..4de6dbdd 100644 --- a/server/streamreader/process_stream.hpp +++ b/server/streamreader/process_stream.hpp @@ -68,7 +68,6 @@ protected: virtual void onStderrMsg(const std::string& line); virtual void initExeAndPath(const std::string& filename); - bool fileExists(const std::string& filename) const; std::string findExe(const std::string& filename) const; size_t wd_timeout_sec_;