Make some parts of the processor compile on Win32/MSVC

R=mark at http://breakpad.appspot.com/250001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@751 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
ted.mielczarek 2011-01-11 20:27:29 +00:00
parent fd00ae5f55
commit c77fc8a32c
4 changed files with 29 additions and 5 deletions

View File

@ -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>

View File

@ -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);

View File

@ -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 {

View File

@ -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(&timestruct, reinterpret_cast<time_t*>(&header_.time_date_stamp));
#else
gmtime_r(reinterpret_cast<time_t*>(&header_.time_date_stamp), &timestruct);
#endif
char timestr[20];
strftime(timestr, 20, "%Y-%m-%d %H:%M:%S", &timestruct);
printf(" time_date_stamp = 0x%x %s\n", header_.time_date_stamp,