diff options
| author | Tannin <devnull@localhost> | 2015-05-16 18:44:07 +0200 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2015-05-16 18:44:07 +0200 |
| commit | 9d3364f4da3fe77113147d9350c0e8c8c7f7a637 (patch) | |
| tree | f779a4e680596224e015cc3afebaa61ac7e572b4 /src/shared/util.cpp | |
| parent | 9ea5086c4cd1acf6f462070a5c792a252aa176dd (diff) | |
fixes to make MO compile with mingw (also fixes some warnings generated by mingw)
Diffstat (limited to 'src/shared/util.cpp')
| -rw-r--r-- | src/shared/util.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/shared/util.cpp b/src/shared/util.cpp index 75d80d83..e5bcd436 100644 --- a/src/shared/util.cpp +++ b/src/shared/util.cpp @@ -135,24 +135,22 @@ VS_FIXEDFILEINFO GetFileVersion(const std::wstring &fileName) throw windows_error("failed to determine file version info size");
}
- void *buffer = new char[size];
+ boost::scoped_array<char> buffer(new char[size]);
try {
handle = 0UL;
- if (!::GetFileVersionInfoW(fileName.c_str(), handle, size, buffer)) {
+ if (!::GetFileVersionInfoW(fileName.c_str(), handle, size, buffer.get())) {
throw windows_error("failed to determine file version info");
}
void *versionInfoPtr = nullptr;
UINT versionInfoLength = 0;
- if (!::VerQueryValue(buffer, L"\\", &versionInfoPtr, &versionInfoLength)) {
+ if (!::VerQueryValue(buffer.get(), L"\\", &versionInfoPtr, &versionInfoLength)) {
throw windows_error("failed to determine file version");
}
VS_FIXEDFILEINFO result = *(VS_FIXEDFILEINFO*)versionInfoPtr;
- delete [] buffer;
return result;
} catch (...) {
- delete [] buffer;
throw;
}
}
|
