diff options
Diffstat (limited to 'src/processor/simple_symbol_supplier.cc')
-rw-r--r-- | src/processor/simple_symbol_supplier.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/processor/simple_symbol_supplier.cc b/src/processor/simple_symbol_supplier.cc index 9c1aac4e..c593e955 100644 --- a/src/processor/simple_symbol_supplier.cc +++ b/src/processor/simple_symbol_supplier.cc @@ -38,6 +38,8 @@ #include <algorithm> #include <cassert> +#include <iostream> +#include <fstream> #include "processor/simple_symbol_supplier.h" #include "google_breakpad/processor/code_module.h" @@ -71,6 +73,25 @@ SymbolSupplier::SymbolResult SimpleSymbolSupplier::GetSymbolFile( return NOT_FOUND; } +SymbolSupplier::SymbolResult SimpleSymbolSupplier::GetSymbolFile( + const CodeModule *module, + const SystemInfo *system_info, + string *symbol_file, + string *symbol_data) { + assert(symbol_data); + symbol_data->clear(); + + SymbolSupplier::SymbolResult s = GetSymbolFile(module, system_info, symbol_file); + + if (s == FOUND) { + std::ifstream in(symbol_file->c_str()); + std::getline(in, *symbol_data, std::string::traits_type::to_char_type( + std::string::traits_type::eof())); + in.close(); + } + return s; +} + SymbolSupplier::SymbolResult SimpleSymbolSupplier::GetSymbolFileAtPathFromRoot( const CodeModule *module, const SystemInfo *system_info, const string &root_path, string *symbol_file) { |