fix OS guards for attachments

Change-Id: I10fdaf15ea4ba5906eeb81234508e987c29985ff
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2333082
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
This commit is contained in:
Joshua Peraza 2020-08-03 13:39:14 -07:00 committed by Commit Bot
parent 9cd1a4dadb
commit 94b7e45210

View File

@ -95,16 +95,21 @@ namespace crashpad {
namespace {
#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
defined(OS_ANDROID)
#define ATTACHMENTS_SUPPORTED 1
#endif // OS_WIN || OS_LINUX || OS_CHROMEOS || OS_ANDROID
void Usage(const base::FilePath& me) {
fprintf(stderr,
"Usage: %" PRFilePath " [OPTION]...\n"
"Crashpad's exception handler server.\n"
"\n"
" --annotation=KEY=VALUE set a process annotation in each crash report\n"
#if defined(OS_WIN) || defined(OS_LINUX)
#if defined(ATTACHMENTS_SUPPORTED)
" --attachment=FILE_PATH attach specified file to each crash report\n"
" at the time of the crash\n"
#endif // OS_WIN || OS_LINUX
#endif // ATTACHMENTS_SUPPORTED
" --database=PATH store the crash report database at PATH\n"
#if defined(OS_APPLE)
" --handshake-fd=FD establish communication with the client over FD\n"
@ -215,10 +220,9 @@ struct Options {
base::FilePath minidump_dir_for_tests;
bool always_allow_feedback = false;
#endif // OS_CHROMEOS
#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
defined(OS_ANDROID)
#if defined(ATTACHMENTS_SUPPORTED)
std::vector<base::FilePath> attachments;
#endif // OS_WIN || OS_LINUX
#endif // ATTACHMENTS_SUPPORTED
};
// Splits |key_value| on '=' and inserts the resulting key and value into |map|.
@ -580,9 +584,9 @@ int HandlerMain(int argc,
static constexpr option long_options[] = {
{"annotation", required_argument, nullptr, kOptionAnnotation},
#if defined(OS_WIN) || defined(OS_LINUX)
#if defined(ATTACHMENTS_SUPPORTED)
{"attachment", required_argument, nullptr, kOptionAttachment},
#endif // OS_WIN || OS_LINUX
#endif // ATTACHMENTS_SUPPORTED
{"database", required_argument, nullptr, kOptionDatabase},
#if defined(OS_APPLE)
{"handshake-fd", required_argument, nullptr, kOptionHandshakeFD},
@ -692,14 +696,13 @@ int HandlerMain(int argc,
}
break;
}
#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
defined(OS_ANDROID)
#if defined(ATTACHMENTS_SUPPORTED)
case kOptionAttachment: {
options.attachments.push_back(base::FilePath(
ToolSupport::CommandLineArgumentToFilePathStringType(optarg)));
break;
}
#endif // OS_WIN || OS_LINUX
#endif // ATTACHMENTS_SUPPORTED
case kOptionDatabase: {
options.database = base::FilePath(
ToolSupport::CommandLineArgumentToFilePathStringType(optarg));
@ -1012,9 +1015,9 @@ int HandlerMain(int argc,
database.get(),
static_cast<CrashReportUploadThread*>(upload_thread.Get()),
&options.annotations,
#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID)
#if defined(ATTACHMENTS_SUPPORTED)
&options.attachments,
#endif // OS_WIN || OS_LINUX
#endif // ATTACHMENTS_SUPPORTED
#if defined(OS_ANDROID)
options.write_minidump_to_database,
options.write_minidump_to_log,