diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/google_breakpad/processor/minidump.h | 2 | ||||
-rw-r--r-- | src/processor/logging.cc | 8 | ||||
-rw-r--r-- | src/processor/logging.h | 9 | ||||
-rw-r--r-- | src/processor/minidump.cc | 15 |
4 files changed, 29 insertions, 5 deletions
diff --git a/src/google_breakpad/processor/minidump.h b/src/google_breakpad/processor/minidump.h index a80a5efd..f3f77677 100644 --- a/src/google_breakpad/processor/minidump.h +++ b/src/google_breakpad/processor/minidump.h @@ -79,7 +79,9 @@ #ifndef GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_H__ #define GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_H__ +#ifndef _WIN32 #include <unistd.h> +#endif #include <iostream> #include <map> diff --git a/src/processor/logging.cc b/src/processor/logging.cc index 8842df35..c58fb8dd 100644 --- a/src/processor/logging.cc +++ b/src/processor/logging.cc @@ -44,13 +44,21 @@ namespace google_breakpad { +#ifdef _WIN32 +#define snprintf _snprintf +#endif + LogStream::LogStream(std::ostream &stream, Severity severity, const char *file, int line) : stream_(stream) { time_t clock; time(&clock); struct tm tm_struct; +#ifdef _WIN32 + localtime_s(&tm_struct, &clock); +#else localtime_r(&clock, &tm_struct); +#endif char time_string[20]; strftime(time_string, sizeof(time_string), "%Y-%m-%d %H:%M:%S", &tm_struct); diff --git a/src/processor/logging.h b/src/processor/logging.h index b638ff58..642506d5 100644 --- a/src/processor/logging.h +++ b/src/processor/logging.h @@ -68,6 +68,15 @@ namespace google_breakpad { +// These are defined in Microsoft headers. +#ifdef SEVERITY_ERROR +#undef SEVERITY_ERROR +#endif + +#ifdef ERROR +#undef ERROR +#endif + class LogStream { public: enum Severity { diff --git a/src/processor/minidump.cc b/src/processor/minidump.cc index 41e7cea6..3d42c428 100644 --- a/src/processor/minidump.cc +++ b/src/processor/minidump.cc @@ -40,14 +40,15 @@ #include <stdio.h> #include <string.h> #include <time.h> -#include <unistd.h> + #ifdef _WIN32 #include <io.h> typedef SSIZE_T ssize_t; -#define open _open -#define read _read -#define lseek _lseek +#define PRIx64 "llx" +#define PRIx32 "lx" +#define snprintf _snprintf #else // _WIN32 +#include <unistd.h> #define O_BINARY 0 #endif // _WIN32 @@ -1101,7 +1102,7 @@ void MinidumpMemoryRegion::SetDescriptor(MDMemoryDescriptor* descriptor) { descriptor_ = descriptor; valid_ = descriptor && descriptor_->memory.data_size <= - numeric_limits<uint64_t>::max() - + numeric_limits<u_int64_t>::max() - descriptor_->start_of_memory_range; } @@ -3694,7 +3695,11 @@ void Minidump::Print() { printf(" stream_directory_rva = 0x%x\n", header_.stream_directory_rva); printf(" checksum = 0x%x\n", header_.checksum); struct tm timestruct; +#ifdef _WIN32 + gmtime_s(×truct, reinterpret_cast<time_t*>(&header_.time_date_stamp)); +#else gmtime_r(reinterpret_cast<time_t*>(&header_.time_date_stamp), ×truct); +#endif char timestr[20]; strftime(timestr, 20, "%Y-%m-%d %H:%M:%S", ×truct); printf(" time_date_stamp = 0x%x %s\n", header_.time_date_stamp, |