summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinTool/ConvertCommand.cpp
diff options
context:
space:
mode:
authorAdmiral H. Curtiss <pikachu025@gmail.com>2023-06-17 14:10:59 +0200
committerGitHub <noreply@github.com>2023-06-17 14:10:59 +0200
commitb8242c362e2c30f4c909db1f9e31dffaf295abe7 (patch)
tree716058eda5dcbefca65ee9d17bb7488cc7f47000 /Source/Core/DolphinTool/ConvertCommand.cpp
parent5029924ba104fdc5bc78a804fb35cdb5d7418a8f (diff)
parente67c196d2a44dce1387e5d91d37aa519bb70ddf0 (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.cpp23
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"))