diff options
author | Aki <please@ignore.pl> | 2022-05-26 19:26:11 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-05-26 19:26:11 +0200 |
commit | 2cd33c5d81088a5235554330e8f0c7f7302fa740 (patch) | |
tree | bb12a28ca85dc062455b23fa36f5b82a67b964df | |
parent | 82737f92d16d35ba1d526b9118c32c47af5936aa (diff) | |
download | derelict-2cd33c5d81088a5235554330e8f0c7f7302fa740.zip derelict-2cd33c5d81088a5235554330e8f0c7f7302fa740.tar.gz derelict-2cd33c5d81088a5235554330e8f0c7f7302fa740.tar.bz2 |
Allowed optional members in killmails
-rw-r--r-- | DumpSource.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/DumpSource.cpp b/DumpSource.cpp index b9c86be..cfcd9f0 100644 --- a/DumpSource.cpp +++ b/DumpSource.cpp @@ -55,10 +55,13 @@ from_json(const json& j, Killmail& km) j.at("solar_system_id").get_to(km.location); j.at("victim").at("ship_type_id").get_to(km.ship); j.at("victim").at("position").get_to(km.position); - j.at("victim").at("character_id").get_to(km.owner.character); + if (j.at("victim").contains("character_id")) + j.at("victim").at("character_id").get_to(km.owner.character); j.at("victim").at("corporation_id").get_to(km.owner.corporation); - j.at("victim").at("alliance_id").get_to(km.owner.alliance); - j.at("victim").at("faction_id").get_to(km.owner.faction); + if (j.at("victim").contains("alliance_id")) + j.at("victim").at("alliance_id").get_to(km.owner.alliance); + if (j.at("victim").contains("faction_id")) + j.at("victim").at("faction_id").get_to(km.owner.faction); auto calendar = j.at("killmail_time").get<tm>(); km.time = std::mktime(&calendar); } |