From 5640e57f1f28472efdce2add14fd169b7e273037 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 7 Sep 2020 17:29:40 -0400 Subject: [PATCH] CopyFile: add a C++ API Having to swizzle to C strings all the time is a bit annoying. Change-Id: I0b80877706e32e873e567685f6b471745da70311 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2396557 Reviewed-by: Mark Mentovai --- src/client/linux/minidump_writer/minidump_writer_unittest.cc | 2 +- src/common/tests/file_utils.cc | 4 ++++ src/common/tests/file_utils.h | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/client/linux/minidump_writer/minidump_writer_unittest.cc b/src/client/linux/minidump_writer/minidump_writer_unittest.cc index ac93a343..d192e5cb 100644 --- a/src/client/linux/minidump_writer/minidump_writer_unittest.cc +++ b/src/client/linux/minidump_writer/minidump_writer_unittest.cc @@ -521,7 +521,7 @@ TEST(MinidumpWriterTest, DeletedBinary) { // Copy binary to a temp file. AutoTempDir temp_dir; string binpath = temp_dir.path() + "/linux-dumper-unittest-helper"; - ASSERT_TRUE(CopyFile(helper_path.c_str(), binpath.c_str())) + ASSERT_TRUE(CopyFile(helper_path, binpath)) << "Failed to copy " << helper_path << " to " << binpath; ASSERT_EQ(0, chmod(binpath.c_str(), 0755)); diff --git a/src/common/tests/file_utils.cc b/src/common/tests/file_utils.cc index 1c041777..c1cbb39c 100644 --- a/src/common/tests/file_utils.cc +++ b/src/common/tests/file_utils.cc @@ -96,6 +96,10 @@ bool CopyFile(const char* from_path, const char* to_path) { return result; } +bool CopyFile(const std::string& from_path, const std::string& to_path) { + return CopyFile(from_path.c_str(), to_path.c_str()); +} + bool ReadFile(const char* path, void* buffer, ssize_t* buffer_size) { int fd = HANDLE_EINTR(open(path, O_RDONLY)); if (fd == -1) { diff --git a/src/common/tests/file_utils.h b/src/common/tests/file_utils.h index c98a9bfa..3d1a9c6f 100644 --- a/src/common/tests/file_utils.h +++ b/src/common/tests/file_utils.h @@ -33,9 +33,12 @@ #ifndef COMMON_TESTS_FILE_UTILS_H_ #define COMMON_TESTS_FILE_UTILS_H_ +#include + namespace google_breakpad { // Copies a file from |from_path| to |to_path|. Returns true on success. +bool CopyFile(const std::string& from_path, const std::string& to_path); bool CopyFile(const char* from_path, const char* to_path); // Reads the content of a file at |path| into |buffer|. |buffer_size| specifies