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_;