| OLD | NEW |
| 1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. |
| 2 // | 2 // |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
| 6 // | 6 // |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
| 8 // | 8 // |
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 FileWriterInterface* file_writer) { | 147 FileWriterInterface* file_writer) { |
| 148 DCHECK_EQ(state(), kStateWritable); | 148 DCHECK_EQ(state(), kStateWritable); |
| 149 | 149 |
| 150 const size_t base_length = offsetof(typeof(image_debug_misc_), Data); | 150 const size_t base_length = offsetof(typeof(image_debug_misc_), Data); |
| 151 | 151 |
| 152 WritableIoVec iov; | 152 WritableIoVec iov; |
| 153 iov.iov_base = &image_debug_misc_; | 153 iov.iov_base = &image_debug_misc_; |
| 154 iov.iov_len = base_length; | 154 iov.iov_len = base_length; |
| 155 std::vector<WritableIoVec> iovecs(1, iov); | 155 std::vector<WritableIoVec> iovecs(1, iov); |
| 156 | 156 |
| 157 iov.iov_len = image_debug_misc_.Length - base_length; | |
| 158 if (!image_debug_misc_.Unicode) { | 157 if (!image_debug_misc_.Unicode) { |
| 159 DCHECK(data_utf16_.empty()); | 158 DCHECK(data_utf16_.empty()); |
| 160 iov.iov_base = &data_[0]; | 159 iov.iov_base = &data_[0]; |
| 161 } else { | 160 } else { |
| 162 DCHECK(data_.empty()); | 161 DCHECK(data_.empty()); |
| 163 iov.iov_base = &data_utf16_[0]; | 162 iov.iov_base = &data_utf16_[0]; |
| 164 } | 163 } |
| 164 iov.iov_len = image_debug_misc_.Length - base_length; |
| 165 iovecs.push_back(iov); | 165 iovecs.push_back(iov); |
| 166 | 166 |
| 167 return file_writer->WriteIoVec(&iovecs); | 167 return file_writer->WriteIoVec(&iovecs); |
| 168 } | 168 } |
| 169 | 169 |
| 170 MinidumpModuleWriter::MinidumpModuleWriter() | 170 MinidumpModuleWriter::MinidumpModuleWriter() |
| 171 : MinidumpWritable(), | 171 : MinidumpWritable(), |
| 172 module_(), | 172 module_(), |
| 173 name_(), | 173 name_(), |
| 174 codeview_record_(nullptr), | 174 codeview_record_(nullptr), |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 351 | 351 |
| 352 bool MinidumpModuleListWriter::WriteObject(FileWriterInterface* file_writer) { | 352 bool MinidumpModuleListWriter::WriteObject(FileWriterInterface* file_writer) { |
| 353 DCHECK_EQ(state(), kStateWritable); | 353 DCHECK_EQ(state(), kStateWritable); |
| 354 | 354 |
| 355 WritableIoVec iov; | 355 WritableIoVec iov; |
| 356 iov.iov_base = &module_list_base_; | 356 iov.iov_base = &module_list_base_; |
| 357 iov.iov_len = sizeof(module_list_base_); | 357 iov.iov_len = sizeof(module_list_base_); |
| 358 std::vector<WritableIoVec> iovecs(1, iov); | 358 std::vector<WritableIoVec> iovecs(1, iov); |
| 359 | 359 |
| 360 for (const MinidumpModuleWriter* module : modules_) { | 360 for (const MinidumpModuleWriter* module : modules_) { |
| 361 iov.iov_base = module->MinidumpModule(); |
| 361 iov.iov_len = sizeof(MINIDUMP_MODULE); | 362 iov.iov_len = sizeof(MINIDUMP_MODULE); |
| 362 iov.iov_base = module->MinidumpModule(); | |
| 363 iovecs.push_back(iov); | 363 iovecs.push_back(iov); |
| 364 } | 364 } |
| 365 | 365 |
| 366 return file_writer->WriteIoVec(&iovecs); | 366 return file_writer->WriteIoVec(&iovecs); |
| 367 } | 367 } |
| 368 | 368 |
| 369 MinidumpStreamType MinidumpModuleListWriter::StreamType() const { | 369 MinidumpStreamType MinidumpModuleListWriter::StreamType() const { |
| 370 return kMinidumpStreamTypeModuleList; | 370 return kMinidumpStreamTypeModuleList; |
| 371 } | 371 } |
| 372 | 372 |
| 373 } // namespace crashpad | 373 } // namespace crashpad |
| OLD | NEW |