summaryrefslogtreecommitdiffhomepage
path: root/DumpSource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'DumpSource.cpp')
-rw-r--r--DumpSource.cpp9
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);
}