mirror of
https://github.com/anope/anope.git
synced 2026-07-07 08:53:11 +02:00
Made gettext work on most OSs. Tested on Debian, FreeBSD, Gentoo, and Windows.
Added a search path option to the Config script for cmake to use when finding libraries for modules or for gettext. Fixed m_mysql and m_ssl to work under Windows, made the Windows Config program remember the last used options, and fixed Windows release builds.
This commit is contained in:
@@ -68,7 +68,7 @@ foreach(MODULE_FOLDER ${MODULES_FOLDERS})
|
||||
endif(MSVC)
|
||||
# Generate the module and set it's linker flags, also set it to depend on the main Anope executable to be built beforehand
|
||||
add_library(${SO} MODULE ${SRC})
|
||||
set_target_properties(${SO} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" SUFFIX "" LINK_FLAGS "${TEMP_LDFLAGS}")
|
||||
set_target_properties(${SO} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" SUFFIX "" LINK_FLAGS "${TEMP_LDFLAGS} /nodefaultlib:\"libcmt.lib\"")
|
||||
add_dependencies(${SO} ${PROGRAM_NAME})
|
||||
# For Windows only, have the module link to the export library of Anope as well as the wsock32 library (most of the modules probably don't need this, but this is to be on the safe side), also set it's version
|
||||
if(WIN32)
|
||||
|
||||
@@ -1429,7 +1429,7 @@ static void SaveDatabases()
|
||||
|
||||
for (std::vector<Anope::string>::iterator it = nc->access.begin(), it_end = nc->access.end(); it != it_end; ++it)
|
||||
{
|
||||
me->RunQuery("INSERT INTO `anope_ns_access` (display, access) VALUES(" + me->Escape(nc->display) + ", " + me->Escape(*it) + ")");
|
||||
me->RunQuery("INSERT INTO `anope_ns_access` (display, access) VALUES('" + me->Escape(nc->display) + "', '" + me->Escape(*it) + "')");
|
||||
}
|
||||
|
||||
for (unsigned j = 0, end = nc->memos.memos.size(); j < end; ++j)
|
||||
|
||||
+12
-12
@@ -24,21 +24,21 @@ struct QueryRequest
|
||||
/* The connection to the database */
|
||||
MySQLService *service;
|
||||
/* The interface to use once we have the result to send the data back */
|
||||
SQLInterface *interface;
|
||||
SQLInterface *sqlinterface;
|
||||
/* The actual query */
|
||||
Anope::string query;
|
||||
|
||||
QueryRequest(MySQLService *s, SQLInterface *i, const Anope::string &q) : service(s), interface(i), query(q) { }
|
||||
QueryRequest(MySQLService *s, SQLInterface *i, const Anope::string &q) : service(s), sqlinterface(i), query(q) { }
|
||||
};
|
||||
|
||||
struct QueryResult
|
||||
{
|
||||
/* The interface to send the data back on */
|
||||
SQLInterface *interface;
|
||||
SQLInterface *sqlinterface;
|
||||
/* The result */
|
||||
SQLResult result;
|
||||
|
||||
QueryResult(SQLInterface *i, SQLResult &r) : interface(i), result(r) { }
|
||||
QueryResult(SQLInterface *i, SQLResult &r) : sqlinterface(i), result(r) { }
|
||||
};
|
||||
|
||||
/** A MySQL result
|
||||
@@ -255,7 +255,7 @@ class ModuleSQL : public Module
|
||||
{
|
||||
QueryRequest &r = this->QueryRequests[i - 1];
|
||||
|
||||
if (r.interface && r.interface->owner == m)
|
||||
if (r.sqlinterface && r.sqlinterface->owner == m)
|
||||
{
|
||||
if (i == 1)
|
||||
{
|
||||
@@ -290,8 +290,8 @@ MySQLService::~MySQLService()
|
||||
|
||||
if (r.service == this)
|
||||
{
|
||||
if (r.interface)
|
||||
r.interface->OnError(SQLResult("", "SQL Interface is going away"));
|
||||
if (r.sqlinterface)
|
||||
r.sqlinterface->OnError(SQLResult("", "SQL Interface is going away"));
|
||||
me->QueryRequests.erase(me->QueryRequests.begin() + i - 1);
|
||||
}
|
||||
}
|
||||
@@ -377,8 +377,8 @@ void DispatcherThread::Run()
|
||||
this->Lock();
|
||||
if (!me->QueryRequests.empty() && me->QueryRequests.front().query == r.query)
|
||||
{
|
||||
if (r.interface)
|
||||
me->FinishedRequests.push_back(QueryResult(r.interface, sresult));
|
||||
if (r.sqlinterface)
|
||||
me->FinishedRequests.push_back(QueryResult(r.sqlinterface, sresult));
|
||||
me->QueryRequests.pop_front();
|
||||
}
|
||||
}
|
||||
@@ -401,13 +401,13 @@ void MySQLPipe::OnNotify()
|
||||
{
|
||||
const QueryResult &qr = *it;
|
||||
|
||||
if (!qr.interface)
|
||||
if (!qr.sqlinterface)
|
||||
throw SQLException("NULL qr.interface in MySQLPipe::OnNotify() ?");
|
||||
|
||||
if (qr.result.GetError().empty())
|
||||
qr.interface->OnResult(qr.result);
|
||||
qr.sqlinterface->OnResult(qr.result);
|
||||
else
|
||||
qr.interface->OnError(qr.result);
|
||||
qr.sqlinterface->OnError(qr.result);
|
||||
}
|
||||
me->FinishedRequests.clear();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user