summaryrefslogtreecommitdiff
path: root/src/account-server/character.h
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <bjorn@lindeijer.nl>2023-05-15 16:09:09 +0200
committerThorbjørn Lindeijer <bjorn@lindeijer.nl>2023-05-15 16:09:15 +0200
commit1992ce920eb5268be9487b3bba6d28353d871111 (patch)
tree0674c82a0726135c0a5d136a359f841d503c510f /src/account-server/character.h
parentf395960adeea1f51f01ec8045d1e175926a6ea4a (diff)
downloadmanaserv-1992ce920eb5268be9487b3bba6d28353d871111.tar.gz
manaserv-1992ce920eb5268be9487b3bba6d28353d871111.tar.bz2
manaserv-1992ce920eb5268be9487b3bba6d28353d871111.tar.xz
manaserv-1992ce920eb5268be9487b3bba6d28353d871111.zip
Manage CharacterData using std::unique_ptr
Fixes many memory leaks, but also made it clear that we're very often loading all the character data only to immediately throw it away again, even when most of the time all we really need is the database ID or the name.
Diffstat (limited to 'src/account-server/character.h')
-rw-r--r--src/account-server/character.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/account-server/character.h b/src/account-server/character.h
index e3c1b49c..d17fc9d1 100644
--- a/src/account-server/character.h
+++ b/src/account-server/character.h
@@ -21,6 +21,7 @@
#ifndef CHARACTERDATA_H
#define CHARACTERDATA_H
+#include <memory>
#include <string>
#include <vector>
#include <set>
@@ -277,6 +278,6 @@ class CharacterData
/**
* Type definition for a list of Characters.
*/
-using Characters = std::map<unsigned int, CharacterData *>;
+using Characters = std::map<unsigned int, std::unique_ptr<CharacterData>>;
#endif