1
0
mirror of https://github.com/anope/anope.git synced 2026-06-30 12:46:37 +02:00

Merge pull request #54 from attilamolnar/2.0+webcpanelfix

Don't create zero length DataBlocks in BinarySocket::Write()
This commit is contained in:
Adam
2014-02-18 12:59:37 -05:00
3 changed files with 10 additions and 5 deletions
+1 -1
View File
@@ -347,7 +347,7 @@ class CoreExport BinarySocket : public virtual Socket
/** Write data to the socket
* @param buffer The data to write
* @param l The length of the data
* @param l The length of the data; if 0 then this function returns without doing anything
*/
virtual void Write(const char *buffer, size_t l);
void Write(const char *message, ...);
+7 -4
View File
@@ -220,8 +220,11 @@ void TemplateFileServer::Serve(HTTPProvider *server, const Anope::string &page_n
Log() << "Invalid INCLUDE in web template " << this->file_name;
else
{
reply.Write(finished); // Write out what we have currently so we insert this files contents here
finished.clear();
if (!finished.empty())
{
reply.Write(finished); // Write out what we have currently so we insert this files contents here
finished.clear();
}
TemplateFileServer tfs(tokens[1]);
tfs.Serve(server, page_name, client, message, reply, r);
@@ -255,7 +258,7 @@ void TemplateFileServer::Serve(HTTPProvider *server, const Anope::string &page_n
}
}
reply.Write(finished);
return;
if (!finished.empty())
reply.Write(finished);
}
+2
View File
@@ -167,6 +167,8 @@ bool BinarySocket::ProcessWrite()
void BinarySocket::Write(const char *buffer, size_t l)
{
if (l == 0)
return;
this->write_buffer.push_back(new DataBlock(buffer, l));
SocketEngine::Change(this, true, SF_WRITABLE);
}