#include "tools/tool_support.h"
#include <stdio.h>
#include <string_view>
#include <vector>
#include "base/containers/heap_array.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "package.h"
namespace crashpad {
void ToolSupport::Version(const base::FilePath& me) { … }
void ToolSupport::UsageTail(const base::FilePath& me) { … }
void ToolSupport::UsageHint(const base::FilePath& me, const char* hint) { … }
#if BUILDFLAG(IS_POSIX)
void ToolSupport::Version(const std::string& me) { … }
void ToolSupport::UsageTail(const std::string& me) { … }
void ToolSupport::UsageHint(const std::string& me, const char* hint) { … }
#endif
#if BUILDFLAG(IS_WIN)
int ToolSupport::Wmain(int argc, wchar_t* argv[], int (*entry)(int, char* [])) {
auto argv_as_utf8 = base::HeapArray<char*>::Uninit(argc + 1);
std::vector<std::string> storage;
storage.reserve(argc);
for (int i = 0; i < argc; ++i) {
storage.push_back(base::WideToUTF8(argv[i]));
argv_as_utf8[i] = &storage[i][0];
}
argv_as_utf8[argc] = nullptr;
return entry(argc, argv_as_utf8.data());
}
#endif
base::FilePath::StringType ToolSupport::CommandLineArgumentToFilePathStringType(
std::string_view path) { … }
std::string ToolSupport::FilePathToCommandLineArgument(
const base::FilePath& file_path) { … }
}