From e67c196d2a44dce1387e5d91d37aa519bb70ddf0 Mon Sep 17 00:00:00 2001 From: get <45425365+Minty-Meeo@users.noreply.github.com> Date: Fri, 16 Jun 2023 19:33:38 -0500 Subject: DolphinTool: Less string copies --- Source/Core/DolphinTool/ConvertCommand.cpp | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'Source/Core/DolphinTool/ConvertCommand.cpp') diff --git a/Source/Core/DolphinTool/ConvertCommand.cpp b/Source/Core/DolphinTool/ConvertCommand.cpp index d96e571d28..d8cf7b96f2 100644 --- a/Source/Core/DolphinTool/ConvertCommand.cpp +++ b/Source/Core/DolphinTool/ConvertCommand.cpp @@ -61,9 +61,11 @@ int ConvertCommand(const std::vector& args) parser.usage("usage: convert [options]... [FILE]..."); parser.add_option("-u", "--user") + .type("string") .action("store") .help("User folder path, required for temporary processing files. " - "Will be automatically created if this option is not set."); + "Will be automatically created if this option is not set.") + .set_default(""); parser.add_option("-i", "--input") .type("string") @@ -110,34 +112,29 @@ int ConvertCommand(const std::vector& args) // Initialize the dolphin user directory, required for temporary processing files // If this is not set, destructive file operations could occur due to path confusion - std::string user_directory; - if (options.is_set("user")) - user_directory = static_cast(options.get("user")); - - UICommon::SetUserDirectory(user_directory); + UICommon::SetUserDirectory(options["user"]); UICommon::Init(); // Validate options // --input - const std::string input_file_path = static_cast(options.get("input")); - if (input_file_path.empty()) + if (!options.is_set("input")) { std::cerr << "Error: No input set" << std::endl; return EXIT_FAILURE; } + const std::string& input_file_path = options["input"]; // --output - const std::string output_file_path = static_cast(options.get("output")); - if (output_file_path.empty()) + if (!options.is_set("output")) { std::cerr << "Error: No output set" << std::endl; return EXIT_FAILURE; } + const std::string& output_file_path = options["output"]; // --format - const std::optional format_o = - ParseFormatString(static_cast(options.get("format"))); + const std::optional format_o = ParseFormatString(options["format"]); if (!format_o.has_value()) { std::cerr << "Error: No output format set" << std::endl; @@ -255,7 +252,7 @@ int ConvertCommand(const std::vector& args) // --compress, --compress_level std::optional compression_o = - ParseCompressionTypeString(static_cast(options.get("compression"))); + ParseCompressionTypeString(options["compression"]); std::optional compression_level_o; if (options.is_set("compression_level")) -- cgit v1.2.3