cmSystemTools: Remove cmSystemToolsFileTime interface

This removes the C style cmSystemToolsFileTime interface in cmSystemTools.
It was replaced by the RAII based cmFileTimes class.
This commit is contained in:
Sebastian Holtermann 2019-05-22 10:18:00 +02:00
parent 9c576a88d9
commit 5b53cfda24
2 changed files with 0 additions and 136 deletions

View File

@ -6,7 +6,6 @@
#include "cmDuration.h"
#include "cmProcessOutput.h"
#include "cmRange.h"
#include "cm_sys_stat.h"
#include "cm_uv.h"
#if defined(CMAKE_BUILD_WITH_CMAKE)
@ -60,7 +59,6 @@
#else
# include <sys/time.h>
# include <unistd.h>
# include <utime.h>
#endif
#if defined(_WIN32) && \
@ -90,18 +88,6 @@ static bool cm_isspace(char c)
return ((c & 0x80) == 0) && isspace(c);
}
class cmSystemToolsFileTime
{
public:
#if defined(_WIN32) && !defined(__CYGWIN__)
FILETIME timeCreation;
FILETIME timeLastAccess;
FILETIME timeLastWrite;
#else
struct utimbuf timeBuf;
#endif
};
#if !defined(HAVE_ENVIRON_NOT_REQUIRE_PROTOTYPE)
// For GetEnvironmentVariables
# if defined(_WIN32)
@ -134,29 +120,6 @@ static int cm_archive_read_open_file(struct archive* a, const char* file,
#endif
#ifdef _WIN32
class cmSystemToolsWindowsHandle
{
public:
cmSystemToolsWindowsHandle(HANDLE h)
: handle_(h)
{
}
~cmSystemToolsWindowsHandle()
{
if (this->handle_ != INVALID_HANDLE_VALUE) {
CloseHandle(this->handle_);
}
}
explicit operator bool() const
{
return this->handle_ != INVALID_HANDLE_VALUE;
}
bool operator!() const { return this->handle_ == INVALID_HANDLE_VALUE; }
operator HANDLE() const { return this->handle_; }
private:
HANDLE handle_;
};
#elif defined(__APPLE__)
# include <crt_externs.h>
@ -2098,91 +2061,6 @@ void cmSystemTools::DoNotInheritStdPipes()
#endif
}
bool cmSystemTools::CopyFileTime(const std::string& fromFile,
const std::string& toFile)
{
#if defined(_WIN32) && !defined(__CYGWIN__)
cmSystemToolsWindowsHandle hFrom = CreateFileW(
SystemTools::ConvertToWindowsExtendedPath(fromFile).c_str(), GENERIC_READ,
FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
cmSystemToolsWindowsHandle hTo = CreateFileW(
SystemTools::ConvertToWindowsExtendedPath(toFile).c_str(),
FILE_WRITE_ATTRIBUTES, 0, 0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
if (!hFrom || !hTo) {
return false;
}
FILETIME timeCreation;
FILETIME timeLastAccess;
FILETIME timeLastWrite;
if (!GetFileTime(hFrom, &timeCreation, &timeLastAccess, &timeLastWrite)) {
return false;
}
return SetFileTime(hTo, &timeCreation, &timeLastAccess, &timeLastWrite) != 0;
#else
struct stat fromStat;
if (stat(fromFile.c_str(), &fromStat) < 0) {
return false;
}
struct utimbuf buf;
buf.actime = fromStat.st_atime;
buf.modtime = fromStat.st_mtime;
return utime(toFile.c_str(), &buf) >= 0;
#endif
}
cmSystemToolsFileTime* cmSystemTools::FileTimeNew()
{
return new cmSystemToolsFileTime;
}
void cmSystemTools::FileTimeDelete(cmSystemToolsFileTime* t)
{
delete t;
}
bool cmSystemTools::FileTimeGet(const std::string& fname,
cmSystemToolsFileTime* t)
{
#if defined(_WIN32) && !defined(__CYGWIN__)
cmSystemToolsWindowsHandle h = CreateFileW(
SystemTools::ConvertToWindowsExtendedPath(fname).c_str(), GENERIC_READ,
FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
if (!h) {
return false;
}
if (!GetFileTime(h, &t->timeCreation, &t->timeLastAccess,
&t->timeLastWrite)) {
return false;
}
#else
struct stat st;
if (stat(fname.c_str(), &st) < 0) {
return false;
}
t->timeBuf.actime = st.st_atime;
t->timeBuf.modtime = st.st_mtime;
#endif
return true;
}
bool cmSystemTools::FileTimeSet(const std::string& fname,
const cmSystemToolsFileTime* t)
{
#if defined(_WIN32) && !defined(__CYGWIN__)
cmSystemToolsWindowsHandle h = CreateFileW(
SystemTools::ConvertToWindowsExtendedPath(fname).c_str(),
FILE_WRITE_ATTRIBUTES, 0, 0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
if (!h) {
return false;
}
return SetFileTime(h, &t->timeCreation, &t->timeLastAccess,
&t->timeLastWrite) != 0;
#else
return utime(fname.c_str(), &t->timeBuf) >= 0;
#endif
}
#ifdef _WIN32
# ifndef CRYPT_SILENT
# define CRYPT_SILENT 0x40 /* Not defined by VS 6 version of header. */

View File

@ -15,8 +15,6 @@
#include <string>
#include <vector>
class cmSystemToolsFileTime;
/** \class cmSystemTools
* \brief A collection of useful functions for CMake.
*
@ -470,18 +468,6 @@ public:
static void EnsureStdPipes();
/** Copy the file create/access/modify times from the file named by
the first argument to that named by the second. */
static bool CopyFileTime(const std::string& fromFile,
const std::string& toFile);
/** Save and restore file times. */
static cmSystemToolsFileTime* FileTimeNew();
static void FileTimeDelete(cmSystemToolsFileTime*);
static bool FileTimeGet(const std::string& fname, cmSystemToolsFileTime* t);
static bool FileTimeSet(const std::string& fname,
const cmSystemToolsFileTime* t);
/** Random seed generation. */
static unsigned int RandomSeed();