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:
+1
-1
@@ -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, ...);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user