1
0
mirror of https://github.com/anope/anope.git synced 2026-07-02 22:23:13 +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:
Adam
2010-10-30 19:41:13 -04:00
parent a7e5d51616
commit fb9f41b3e5
29 changed files with 315 additions and 128 deletions
+12 -12
View File
@@ -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();