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
5858SMM_API bool scripting_Database_Connect (const char *connectionName)
@@ -100,22 +100,22 @@ SMM_API const char *scripting_Database_EscapeString(const char *connectionName,
100100SMM_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.\n Query: \" %s\"\n Error: %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