support generating v1 rare item sets

This commit is contained in:
Martin Michelsen
2023-12-26 07:04:30 -08:00
parent 2cdebd5f20
commit 5382e12b8d
3 changed files with 17 additions and 14 deletions
+5 -2
View File
@@ -89,7 +89,7 @@ void drop_privileges(const string& username) {
config_log.info("Switched to user %s (%d:%d)", username.c_str(), pw->pw_uid, pw->pw_gid);
}
Version get_cli_version(Arguments& args) {
Version get_cli_version(Arguments& args, Version default_value = Version::UNKNOWN) {
if (args.get<bool>("pc-patch")) {
return Version::PC_PATCH;
} else if (args.get<bool>("bb-patch")) {
@@ -118,6 +118,8 @@ Version get_cli_version(Arguments& args) {
return Version::GC_EP3;
} else if (args.get<bool>("bb")) {
return Version::BB_V4;
} else if (default_value != Version::UNKNOWN) {
return default_value;
} else {
throw runtime_error("a version option is required");
}
@@ -1313,7 +1315,8 @@ Action a_convert_rare_item_set(
string data = rs->serialize_gsl(true);
write_output_data(args, data.data(), data.size(), nullptr);
} else if (ends_with(output_filename, ".afs")) {
string data = rs->serialize_afs();
bool is_v1 = ::is_v1(get_cli_version(args, Version::GC_V3));
string data = rs->serialize_afs(is_v1);
write_output_data(args, data.data(), data.size(), nullptr);
} else {
throw runtime_error("cannot determine output format; use a filename ending with .json, .gsl, .gslb, or .afs");