From 072f86ca83bb7138fe33f10b6380badd9ef7f065 Mon Sep 17 00:00:00 2001 From: Tobias Sargeant Date: Wed, 18 Oct 2017 16:39:09 +0100 Subject: Provide helper wrappers for basename(3) and dirname(3) This hides the need to provide mutable C strings, and unifies existing basename calls and variations in a single location. Change-Id: Idfb449c47b1421f1a751efc3d7404f15f8b369ca Reviewed-on: https://chromium-review.googlesource.com/725731 Reviewed-by: Mark Mentovai Reviewed-by: Mike Frysinger --- src/tools/linux/md2core/minidump-2-core.cc | 8 ++++---- src/tools/mac/dump_syms/macho_dump.cc | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src/tools') diff --git a/src/tools/linux/md2core/minidump-2-core.cc b/src/tools/linux/md2core/minidump-2-core.cc index 6a9e28eb..8cc07a6e 100644 --- a/src/tools/linux/md2core/minidump-2-core.cc +++ b/src/tools/linux/md2core/minidump-2-core.cc @@ -46,6 +46,7 @@ #include "common/linux/memory_mapped_file.h" #include "common/minidump_type_helper.h" +#include "common/path_helper.h" #include "common/scoped_ptr.h" #include "common/using_std_string.h" #include "google_breakpad/common/breakpad_types.h" @@ -133,7 +134,7 @@ Usage(int argc, const char* argv[]) { " lookups to be done in this directory rather than the filesystem\n" " layout as it exists in the crashing image. This path should end\n" " with a slash if it's a directory. e.g. /var/lib/breakpad/\n" - "", basename(argv[0])); + "", google_breakpad::BaseName(argv[0]).c_str()); } static void @@ -1132,9 +1133,8 @@ AugmentMappings(const Options& options, CrashedProcess* crashinfo, // Decide whether we use the filename or the SONAME (where the SONAME tends // to be a symlink to the actual file). - string basename = options.use_filename ? sig_filename : old_filename; - size_t slash = basename.find_last_of('/'); - new_filename += basename.substr(slash == string::npos ? 0 : slash + 1); + new_filename += google_breakpad::BaseName( + options.use_filename ? sig_filename : old_filename); if (filename != new_filename) { if (options.verbose) { diff --git a/src/tools/mac/dump_syms/macho_dump.cc b/src/tools/mac/dump_syms/macho_dump.cc index d882bbe8..6e784ca7 100644 --- a/src/tools/mac/dump_syms/macho_dump.cc +++ b/src/tools/mac/dump_syms/macho_dump.cc @@ -34,7 +34,6 @@ #include #include -#include #include #include #include @@ -49,6 +48,7 @@ #include "common/byte_cursor.h" #include "common/mac/arch_utilities.h" #include "common/mac/macho_reader.h" +#include "common/path_helper.h" using google_breakpad::ByteBuffer; using std::ostringstream; @@ -85,7 +85,7 @@ class DumpSection: public mach_o::Reader::SectionHandler { section.contents.Size()); return true; } - + private: int index_; }; @@ -191,7 +191,7 @@ void DumpFile(const char *filename) { } // namespace int main(int argc, char **argv) { - program_name = basename(argv[0]); + program_name = google_breakpad::BaseName(argv[0]); if (argc == 1) { fprintf(stderr, "Usage: %s FILE ...\n" "Dump the contents of the Mach-O or fat binary files " -- cgit v1.2.1