]> git.sesse.net Git - pkanalytics/blobdiff - events.cpp
Add some defensive events.
[pkanalytics] / events.cpp
index a2d5e07b82df5743f2bd13f5f11266de322f2b9c..5ca51c98191e68de5bedf184af28739d4a538501 100644 (file)
@@ -117,7 +117,7 @@ void EventsModel::load_data()
        }
 }
 
-unsigned EventsModel::insert_event(uint64_t t, int player_id, const string &type)
+unsigned EventsModel::insert_event(uint64_t t, optional<int> player_id, const string &type)
 {
        auto it = lower_bound(events.begin(), events.end(), t,
                [](const Event &e, uint64_t t) { return e.t < t; });
@@ -141,7 +141,11 @@ unsigned EventsModel::insert_event(uint64_t t, int player_id, const string &type
        }
 
        sqlite3_bind_int64(stmt, 1, t);
-       sqlite3_bind_int64(stmt, 2, player_id);
+       if (player_id) {
+               sqlite3_bind_int64(stmt, 2, *player_id);
+       } else {
+               sqlite3_bind_null(stmt, 2);
+       }
        sqlite3_bind_text(stmt, 3, type.data(), type.size(), SQLITE_STATIC);
 
        ret = sqlite3_step(stmt);