aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/ijar
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/ijar')
-rw-r--r--third_party/ijar/mapped_file_windows.cc62
-rw-r--r--third_party/ijar/platform_utils.cc3
2 files changed, 45 insertions, 20 deletions
diff --git a/third_party/ijar/mapped_file_windows.cc b/third_party/ijar/mapped_file_windows.cc
index abc93c2791..6fb8b369d6 100644
--- a/third_party/ijar/mapped_file_windows.cc
+++ b/third_party/ijar/mapped_file_windows.cc
@@ -46,29 +46,36 @@ MappedInputFile::MappedInputFile(const char* name) {
wstring wname;
if (!blaze_util::AsAbsoluteWindowsPath(name, &wname)) {
- blaze_util::pdie(255, "MappedInputFile(%s): AsAbsoluteWindowsPath", name);
+ blaze_util::die(255,
+ "MappedInputFile(%s): AsAbsoluteWindowsPath failed: %s",
+ name, blaze_util::GetLastErrorString().c_str());
}
HANDLE file = CreateFileW(wname.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, 0, NULL);
if (file == INVALID_HANDLE_VALUE) {
- blaze_util::pdie(255, "MappedInputFile(%s): CreateFileW(%S)", name,
- wname.c_str());
+ blaze_util::die(255, "MappedInputFile(%s): CreateFileW(%S) failed: %s",
+ name, wname.c_str(),
+ blaze_util::GetLastErrorString().c_str());
}
LARGE_INTEGER size;
if (!GetFileSizeEx(file, &size)) {
- blaze_util::pdie(255, "MappedInputFile(%s): GetFileSizeEx", name);
+ blaze_util::die(255, "MappedInputFile(%s): GetFileSizeEx failed: %s", name,
+ blaze_util::GetLastErrorString().c_str());
}
HANDLE mapping = CreateFileMapping(file, NULL, PAGE_READONLY,
size.HighPart, size.LowPart, NULL);
if (mapping == NULL || mapping == INVALID_HANDLE_VALUE) {
- blaze_util::pdie(255, "MappedInputFile(%s): CreateFileMapping", name);
+ blaze_util::die(255, "MappedInputFile(%s): CreateFileMapping failed: %s",
+ name),
+ blaze_util::GetLastErrorString().c_str();
}
void *view = MapViewOfFileEx(mapping, FILE_MAP_READ, 0, 0, 0, NULL);
if (view == NULL) {
- blaze_util::pdie(255, "MappedInputFile(%s): MapViewOfFileEx", name);
+ blaze_util::die(255, "MappedInputFile(%s): MapViewOfFileEx failed: %s",
+ name, blaze_util::GetLastErrorString().c_str());
}
impl_ = new MappedInputFileImpl(file, mapping);
@@ -89,15 +96,20 @@ void MappedInputFile::Discard(size_t bytes) {
int MappedInputFile::Close() {
if (!UnmapViewOfFile(buffer_)) {
- blaze_util::pdie(255, "MappedInputFile::Close: UnmapViewOfFile");
+ blaze_util::die(255, "MappedInputFile::Close: UnmapViewOfFile failed: %s",
+ blaze_util::GetLastErrorString().c_str());
}
if (!CloseHandle(impl_->mapping_)) {
- blaze_util::pdie(255, "MappedInputFile::Close: CloseHandle for mapping");
+ blaze_util::die(
+ 255, "MappedInputFile::Close: CloseHandle for mapping failed: %s",
+ blaze_util::GetLastErrorString().c_str());
}
if (!CloseHandle(impl_->file_)) {
- blaze_util::pdie(255, "MappedInputFile::Close: CloseHandle for file");
+ blaze_util::die(255,
+ "MappedInputFile::Close: CloseHandle for file failed: %s",
+ blaze_util::GetLastErrorString().c_str());
}
return 0;
@@ -120,24 +132,29 @@ MappedOutputFile::MappedOutputFile(const char* name, u8 estimated_size) {
wstring wname;
if (!blaze_util::AsAbsoluteWindowsPath(name, &wname)) {
- blaze_util::pdie(255, "MappedOutputFile(%s): AsAbsoluteWindowsPath", name);
+ blaze_util::die(255,
+ "MappedOutputFile(%s): AsAbsoluteWindowsPath failed: %s",
+ name, blaze_util::GetLastErrorString().c_str());
}
HANDLE file = CreateFileW(wname.c_str(), GENERIC_READ | GENERIC_WRITE, 0,
NULL, CREATE_ALWAYS, 0, NULL);
if (file == INVALID_HANDLE_VALUE) {
- blaze_util::pdie(255, "MappedOutputFile(%s): CreateFileW(%S)", name,
- wname.c_str());
+ blaze_util::die(255, "MappedOutputFile(%s): CreateFileW(%S) failed: %s",
+ name, wname.c_str(),
+ blaze_util::GetLastErrorString().c_str());
}
HANDLE mapping = CreateFileMapping(file, NULL, PAGE_READWRITE,
estimated_size >> 32, estimated_size & 0xffffffffUL, NULL);
if (mapping == NULL || mapping == INVALID_HANDLE_VALUE) {
- blaze_util::pdie(255, "MappedOutputFile(%s): CreateFileMapping", name);
+ blaze_util::die(255, "MappedOutputFile(%s): CreateFileMapping failed: %s",
+ name);
}
void *view = MapViewOfFileEx(mapping, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL);
if (view == NULL) {
- blaze_util::pdie(255, "MappedOutputFile(%s): MapViewOfFileEx", name);
+ blaze_util::die(255, "MappedOutputFile(%s): MapViewOfFileEx failed: %s",
+ name, blaze_util::GetLastErrorString().c_str());
CloseHandle(mapping);
CloseHandle(file);
return;
@@ -154,23 +171,30 @@ MappedOutputFile::~MappedOutputFile() {
int MappedOutputFile::Close(int size) {
if (!UnmapViewOfFile(buffer_)) {
- blaze_util::pdie(255, "MappedOutputFile::Close: UnmapViewOfFile");
+ blaze_util::die(255, "MappedOutputFile::Close: UnmapViewOfFile failed: %s",
+ blaze_util::GetLastErrorString().c_str());
}
if (!CloseHandle(impl_->mapping_)) {
- blaze_util::pdie(255, "MappedOutputFile::Close: CloseHandle for mapping");
+ blaze_util::die(
+ 255, "MappedOutputFile::Close: CloseHandle for mapping failed: %s",
+ blaze_util::GetLastErrorString().c_str());
}
if (!SetFilePointer(impl_->file_, size, NULL, FILE_BEGIN)) {
- blaze_util::pdie(255, "MappedOutputFile::Close: SetFilePointer");
+ blaze_util::die(255, "MappedOutputFile::Close: SetFilePointer failed: %s",
+ blaze_util::GetLastErrorString().c_str());
}
if (!SetEndOfFile(impl_->file_)) {
- blaze_util::pdie(255, "MappedOutputFile::Close: SetEndOfFile");
+ blaze_util::die(255, "MappedOutputFile::Close: SetEndOfFile failed: %s",
+ blaze_util::GetLastErrorString().c_str());
}
if (!CloseHandle(impl_->file_)) {
- blaze_util::pdie(255, "MappedOutputFile::Close: CloseHandle for file");
+ blaze_util::die(255,
+ "MappedOutputFile::Close: CloseHandle for file failed: %s",
+ blaze_util::GetLastErrorString().c_str());
}
return 0;
diff --git a/third_party/ijar/platform_utils.cc b/third_party/ijar/platform_utils.cc
index dde8868005..09818f7162 100644
--- a/third_party/ijar/platform_utils.cc
+++ b/third_party/ijar/platform_utils.cc
@@ -39,7 +39,8 @@ bool stat_file(const char* path, Stat* result) {
#if defined(COMPILER_MSVC) || defined(__CYGWIN__)
std::wstring wpath;
if (!blaze_util::AsAbsoluteWindowsPath(path, &wpath)) {
- blaze_util::pdie(255, "stat_file: AsAbsoluteWindowsPath(%s)", path);
+ blaze_util::die(255, "stat_file: AsAbsoluteWindowsPath(%s) failed: %s",
+ path, blaze_util::GetLastErrorString().c_str());
}
bool success = false;
BY_HANDLE_FILE_INFORMATION info;