git-svn-id: svn://db.shs.com.ru/pip@371 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2017-04-17 12:04:12 +00:00
parent f76510e74a
commit 2c68e66568
30 changed files with 380 additions and 553 deletions

View File

@@ -19,6 +19,7 @@
#include "piincludes_p.h"
#include "pifile.h"
#include "pidir.h"
#include "pitime_win.h"
#ifdef WINDOWS
# undef S_IFDIR
# undef S_IFREG
@@ -378,15 +379,6 @@ int PIFile::writeDevice(const void * data, int max_size) {
}
PIFile & PIFile::writeToBinLog(ushort id, const void * data, int size) { /// DEPRECATED
if (!isWriteable() || fd == 0) return *this;
writeBinary(id).writeBinary((ushort)size);
write(data, size);
flush();
return *this;
}
PIFile &PIFile::operator <<(const PIString & v) {
if (canWrite() && fd != 0)
*this << v.toCharset(defaultCharset());
@@ -454,8 +446,8 @@ PIFile::FileInfo PIFile::fileInfo(const PIString & path) {
ret.perm_user = FileInfo::Permissions(true, (attr & FILE_ATTRIBUTE_READONLY) != FILE_ATTRIBUTE_READONLY, ext == "bat" || ext == "exe");
ret.perm_group = ret.perm_other = ret.perm_user;
ret.size = filesize.QuadPart;
ret.time_access = PIDateTime(fi.ftLastAccessTime);
ret.time_modification = PIDateTime(fi.ftLastWriteTime);
ret.time_access = FILETIME2PIDateTime(fi.ftLastAccessTime);
ret.time_modification = FILETIME2PIDateTime(fi.ftLastWriteTime);
/*PIByteArray sec;
DWORD sec_n(0);
//SECURITY_DESCRIPTOR sec;
@@ -539,7 +531,7 @@ bool PIFile::applyFileInfo(const PIString & path, const PIFile::FileInfo & info)
hFile = CreateFile(path.data(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
}
if (!hFile) return false;
FILETIME atime = info.time_access.toFILETIME(), mtime = info.time_modification.toFILETIME();
FILETIME atime = PIDateTime2FILETIME(info.time_access), mtime = PIDateTime2FILETIME(info.time_modification);
if (SetFileTime(hFile, 0, &atime, &mtime) == 0) {
piCout << "[PIFile] applyFileInfo: \"SetFileTime\" error:" << errorString();
return false;