diff options
author | Sadie Powell <sadie@witchery.services> | 2025-03-30 11:39:48 +0100 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2025-03-30 11:57:47 +0100 |
commit | 0802d9d3ffaae3b116fafa2b6a2fe2825eb6c75d (patch) | |
tree | 1260c79184bf59b9a9cda434c445a9a0db2f8210 /src/nickalias.cpp | |
parent | 8d3b8c08b37d7334dbdf385a591ce2319472ccb0 (diff) |
Reference accounts in the database by their id not their nick.
Diffstat (limited to 'src/nickalias.cpp')
-rw-r--r-- | src/nickalias.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/nickalias.cpp b/src/nickalias.cpp index 46aa90600..ac33e836a 100644 --- a/src/nickalias.cpp +++ b/src/nickalias.cpp @@ -160,7 +160,7 @@ void NickAlias::Type::Serialize(const Serializable *obj, Serialize::Data &data) data.Store("last_realhost", na->last_realhost); data.Store("time_registered", na->time_registered); data.Store("last_seen", na->last_seen); - data.Store("nc", na->nc->display); + data.Store("ncid", na->nc->GetId()); if (na->HasVHost()) { @@ -176,11 +176,13 @@ void NickAlias::Type::Serialize(const Serializable *obj, Serialize::Data &data) Serializable *NickAlias::Type::Unserialize(Serializable *obj, Serialize::Data &data) const { Anope::string snc, snick; + uint64_t sncid = 0; - data["nc"] >> snc; + data["nc"] >> snc; // Deprecated 2.0 field + data["ncid"] >> sncid; data["nick"] >> snick; - NickCore *core = NickCore::Find(snc); + auto *core = sncid ? NickCore::FindId(sncid) : NickCore::Find(snc); if (core == NULL) return NULL; |