diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2023-06-17 14:10:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-17 14:10:59 +0200 |
| commit | b8242c362e2c30f4c909db1f9e31dffaf295abe7 (patch) | |
| tree | 716058eda5dcbefca65ee9d17bb7488cc7f47000 /Source/Core/DolphinTool/ConvertCommand.cpp | |
| parent | 5029924ba104fdc5bc78a804fb35cdb5d7418a8f (diff) | |
| parent | e67c196d2a44dce1387e5d91d37aa519bb70ddf0 (diff) | |
Merge pull request #11961 from Minty-Meeo/dolphin-tool-code-review-5
DolphinTool: Less string copies
Diffstat (limited to 'Source/Core/DolphinTool/ConvertCommand.cpp')
| -rw-r--r-- | Source/Core/DolphinTool/ConvertCommand.cpp | 23 |
1 files changed, 10 insertions, 13 deletions
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<std::string>& 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<std::string>& 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<const char*>(options.get("user")); - - UICommon::SetUserDirectory(user_directory); + UICommon::SetUserDirectory(options["user"]); UICommon::Init(); // Validate options // --input - const std::string input_file_path = static_cast<const char*>(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<const char*>(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<DiscIO::BlobType> format_o = - ParseFormatString(static_cast<const char*>(options.get("format"))); + const std::optional<DiscIO::BlobType> 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<std::string>& args) // --compress, --compress_level std::optional<DiscIO::WIARVZCompressionType> compression_o = - ParseCompressionTypeString(static_cast<const char*>(options.get("compression"))); + ParseCompressionTypeString(options["compression"]); std::optional<int> compression_level_o; if (options.is_set("compression_level")) |
