![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/local/lib/node_modules/mediasoup/worker/src/Utils/ |
Upload File : |
#define MS_CLASS "Utils::File" // #define MS_LOG_DEV_LEVEL 3 #include "Logger.hpp" #include "MediaSoupErrors.hpp" #include "Utils.hpp" #include <cerrno> #include <sys/stat.h> // stat() #ifdef _WIN32 #include <io.h> #define __S_ISTYPE(mode, mask) (((mode)&_S_IFMT) == (mask)) #define S_ISREG(mode) __S_ISTYPE((mode), _S_IFREG) #else #include <unistd.h> // access(), R_OK #endif namespace Utils { void Utils::File::CheckFile(const char* file) { MS_TRACE(); struct stat fileStat; // NOLINT(cppcoreguidelines-pro-type-member-init) int err; // Ensure the given file exists. err = stat(file, &fileStat); if (err != 0) MS_THROW_ERROR("cannot read file '%s': %s", file, std::strerror(errno)); // Ensure it is a regular file. if (!S_ISREG(fileStat.st_mode)) MS_THROW_ERROR("'%s' is not a regular file", file); // Ensure it is readable. err = access(file, R_OK); if (err != 0) MS_THROW_ERROR("cannot read file '%s': %s", file, std::strerror(errno)); } } // namespace Utils