| Index: common/windows/pdb_source_line_writer.cc
|
| diff --git a/common/windows/pdb_source_line_writer.cc b/common/windows/pdb_source_line_writer.cc
|
| index a3213dc34379ada00d870cd4ab33a6d9fd7f1677..b519b8b60037bf8e62f480e06e8f4ecf0c77abb0 100644
|
| --- a/common/windows/pdb_source_line_writer.cc
|
| +++ b/common/windows/pdb_source_line_writer.cc
|
| @@ -278,8 +278,9 @@ bool PDBSourceLineWriter::PrintFunction(IDiaSymbol *function,
|
| MapAddressRange(image_map_, AddressRange(rva, static_cast<DWORD>(length)),
|
| &ranges);
|
| for (size_t i = 0; i < ranges.size(); ++i) {
|
| + wstring wname(name);
|
| fprintf(output_, "FUNC %x %x %x %ws\n",
|
| - ranges[i].rva, ranges[i].length, stack_param_size, name);
|
| + ranges[i].rva, ranges[i].length, stack_param_size, wname.c_str());
|
| }
|
|
|
| CComPtr<IDiaEnumLineNumbers> lines;
|
| @@ -330,7 +331,7 @@ bool PDBSourceLineWriter::PrintSourceFiles() {
|
| if (!FileIDIsCached(file_name_string)) {
|
| // this is a new file name, cache it and output a FILE line.
|
| CacheFileID(file_name_string, file_id);
|
| - fwprintf(output_, L"FILE %d %s\n", file_id, file_name);
|
| + fwprintf(output_, L"FILE %d %ws\n", file_id, file_name_string.c_str());
|
| } else {
|
| // this file name has already been seen, just save this
|
| // ID for later lookup.
|
| @@ -635,7 +636,8 @@ bool PDBSourceLineWriter::PrintFrameDataUsingPDB() {
|
| 0 /* epilog_size */, parameter_size, saved_register_size,
|
| local_size, max_stack_size, program_string_result == S_OK);
|
| if (program_string_result == S_OK) {
|
| - fprintf(output_, "%ws\n", program_string);
|
| + wstring wprogram_string(program_string);
|
| + fprintf(output_, "%ws\n", wprogram_string.c_str());
|
| } else {
|
| fprintf(output_, "%d\n", allocates_base_pointer);
|
| }
|
| @@ -819,8 +821,9 @@ bool PDBSourceLineWriter::PrintCodePublicSymbol(IDiaSymbol *symbol) {
|
| AddressRangeVector ranges;
|
| MapAddressRange(image_map_, AddressRange(rva, 1), &ranges);
|
| for (size_t i = 0; i < ranges.size(); ++i) {
|
| + wstring wname(name);
|
| fprintf(output_, "PUBLIC %x %x %ws\n", ranges[i].rva,
|
| - stack_param_size > 0 ? stack_param_size : 0, name);
|
| + stack_param_size > 0 ? stack_param_size : 0, wname.c_str());
|
| }
|
| return true;
|
| }
|
|
|