Don't use CRT in exception handler code (#86). r=bryner
http://groups.google.com/group/airbag-dev/browse_thread/thread/f671277ebd6ea7fd
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@73 4c0a9323-5329-0410-9bdc-e9ce6186880e
diff --git a/src/client/windows/handler/exception_handler.h b/src/client/windows/handler/exception_handler.h
index b49093a..b24a37b 100644
--- a/src/client/windows/handler/exception_handler.h
+++ b/src/client/windows/handler/exception_handler.h
@@ -93,7 +93,10 @@
// Get and set the minidump path.
wstring dump_path() const { return dump_path_; }
- void set_dump_path(const wstring &dump_path) { dump_path_ = dump_path; }
+ void set_dump_path(const wstring &dump_path) {
+ dump_path_ = dump_path;
+ UpdateNextID(); // Necessary to put dump_path_ in next_minidump_path_.
+ }
// Writes a minidump immediately. This can be used to capture the
// execution state independently of a crash. Returns true on success.
@@ -140,7 +143,8 @@
bool WriteMinidumpWithException(DWORD requesting_thread_id,
EXCEPTION_POINTERS *exinfo);
- // Generates a new ID and stores it in next_minidump_id_.
+ // Generates a new ID and stores it in next_minidump_id_, and stores the
+ // path of the next minidump to be written in next_minidump_path_.
void UpdateNextID();
MinidumpCallback callback_;
@@ -148,6 +152,7 @@
wstring dump_path_;
wstring next_minidump_id_;
+ wstring next_minidump_path_;
HMODULE dbghelp_module_;
MiniDumpWriteDump_type minidump_write_dump_;