Codechange: use std::string for script library category

This commit is contained in:
Rubidium 2023-05-06 09:53:57 +02:00 committed by rubidium42
parent e035705239
commit 552d2f71a2
4 changed files with 8 additions and 20 deletions

View File

@ -129,11 +129,6 @@ bool AIInfo::CanLoadFromVersion(int version) const
} }
AILibrary::~AILibrary()
{
free(this->category);
}
/* static */ void AILibrary::RegisterAPI(Squirrel *engine) /* static */ void AILibrary::RegisterAPI(Squirrel *engine)
{ {
/* Create the AILibrary class, and add the RegisterLibrary function */ /* Create the AILibrary class, and add the RegisterLibrary function */
@ -154,7 +149,7 @@ AILibrary::~AILibrary()
} }
/* Cache the category */ /* Cache the category */
if (!library->CheckMethod("GetCategory") || !library->engine->CallStringMethodStrdup(*library->SQ_instance, "GetCategory", &library->category, MAX_GET_OPS)) { if (!library->CheckMethod("GetCategory") || !library->engine->CallStringMethod(*library->SQ_instance, "GetCategory", &library->category, MAX_GET_OPS)) {
delete library; delete library;
return SQ_ERROR; return SQ_ERROR;
} }

View File

@ -56,8 +56,7 @@ private:
/** All static information from an AI library like name, version, etc. */ /** All static information from an AI library like name, version, etc. */
class AILibrary : public ScriptInfo { class AILibrary : public ScriptInfo {
public: public:
AILibrary() : ScriptInfo(), category(nullptr) {}; AILibrary() : ScriptInfo() {};
~AILibrary();
/** /**
* Register the functions of this class. * Register the functions of this class.
@ -72,10 +71,10 @@ public:
/** /**
* Get the category this library is in. * Get the category this library is in.
*/ */
const char *GetCategory() const { return this->category; } const std::string &GetCategory() const { return this->category; }
private: private:
const char *category; ///< The category this library is in. std::string category; ///< The category this library is in.
}; };
#endif /* AI_INFO_HPP */ #endif /* AI_INFO_HPP */

View File

@ -99,11 +99,6 @@ bool GameInfo::CanLoadFromVersion(int version) const
} }
GameLibrary::~GameLibrary()
{
free(this->category);
}
/* static */ void GameLibrary::RegisterAPI(Squirrel *engine) /* static */ void GameLibrary::RegisterAPI(Squirrel *engine)
{ {
/* Create the GameLibrary class, and add the RegisterLibrary function */ /* Create the GameLibrary class, and add the RegisterLibrary function */
@ -124,7 +119,7 @@ GameLibrary::~GameLibrary()
} }
/* Cache the category */ /* Cache the category */
if (!library->CheckMethod("GetCategory") || !library->engine->CallStringMethodStrdup(*library->SQ_instance, "GetCategory", &library->category, MAX_GET_OPS)) { if (!library->CheckMethod("GetCategory") || !library->engine->CallStringMethod(*library->SQ_instance, "GetCategory", &library->category, MAX_GET_OPS)) {
delete library; delete library;
return SQ_ERROR; return SQ_ERROR;
} }

View File

@ -48,8 +48,7 @@ private:
/** All static information from an Game library like name, version, etc. */ /** All static information from an Game library like name, version, etc. */
class GameLibrary : public ScriptInfo { class GameLibrary : public ScriptInfo {
public: public:
GameLibrary() : ScriptInfo(), category(nullptr) {}; GameLibrary() : ScriptInfo() {};
~GameLibrary();
/** /**
* Register the functions of this class. * Register the functions of this class.
@ -64,10 +63,10 @@ public:
/** /**
* Get the category this library is in. * Get the category this library is in.
*/ */
const char *GetCategory() const { return this->category; } const std::string &GetCategory() const { return this->category; }
private: private:
const char *category; ///< The category this library is in. std::string category; ///< The category this library is in.
}; };
#endif /* GAME_INFO_HPP */ #endif /* GAME_INFO_HPP */