Skip to content

Commit 9a4bdf9

Browse files
committed
update(scripting): Fix database query return
1 parent 6728e30 commit 9a4bdf9

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/components/Plugins/src/scripting/Database.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#include <rapidjson/writer.h>
55
#include <rapidjson/stringbuffer.h>
66

7-
const char *SerializeData(const std::vector<std::map<const char *, std::any>> &data)
7+
std::string SerializeData(const std::vector<std::map<const char *, std::any>> &data)
88
{
99
rapidjson::Document document(rapidjson::kArrayType);
1010

@@ -52,7 +52,7 @@ const char *SerializeData(const std::vector<std::map<const char *, std::any>> &d
5252
rapidjson::StringBuffer buffer;
5353
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
5454
document.Accept(writer);
55-
return buffer.GetString();
55+
return std::string(buffer.GetString());
5656
}
5757

5858
SMM_API bool scripting_Database_Connect(const char *connectionName)
@@ -100,22 +100,22 @@ SMM_API const char *scripting_Database_EscapeString(const char *connectionName,
100100
SMM_API const char *scripting_Database_Query(const char *connectionName, const char *query)
101101
{
102102
if (connectionName == nullptr || query == nullptr)
103-
return SerializeData({});
103+
return SerializeData({}).c_str();
104104

105105
Database *db = g_dbManager->GetDatabase(connectionName);
106106
if (db == nullptr)
107-
return SerializeData({});
107+
return SerializeData({}).c_str();
108108

109109
if (!db->IsConnected())
110-
return SerializeData({});
110+
return SerializeData({}).c_str();
111111

112112
std::vector<std::map<const char *, std::any>> results = db->Query(query);
113113

114114
if (results.size() == 0 && db->HasError())
115115
{
116116
PRINTF("Database", "An error has been encountered while a query was executed.\nQuery: \"%s\"\nError: %s\n", query, db->GetError());
117-
return SerializeData({});
117+
return SerializeData({}).c_str();
118118
}
119119

120-
return SerializeData(results);
120+
return SerializeData(results).c_str();
121121
}

0 commit comments

Comments
 (0)