summaryrefslogtreecommitdiff
path: root/src/modulemanager.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2012-12-13 06:12:56 -0500
committerAdam <Adam@anope.org>2012-12-13 06:12:56 -0500
commitc1077faa281c5635f85b892e605e23bd6c8fcc3b (patch)
tree213b5f87a19f182e1efd6110f03ff10d5b10ebf6 /src/modulemanager.cpp
parent76ba147c22944b67e8522cd2bb7b6e1bae498ced (diff)
Optimize much of the database code and serialize code.
Diffstat (limited to 'src/modulemanager.cpp')
-rw-r--r--src/modulemanager.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/modulemanager.cpp b/src/modulemanager.cpp
index 5e2165e30..50eff0cbd 100644
--- a/src/modulemanager.cpp
+++ b/src/modulemanager.cpp
@@ -93,16 +93,15 @@ static ModuleReturn moduleCopyFile(const Anope::string &name, Anope::string &out
}
int want = s.st_size;
- char *buffer = new char[s.st_size];
+ char buffer[1024];
while (want > 0 && !source.fail() && !target.fail())
{
- source.read(buffer, want);
+ source.read(buffer, std::min(want, static_cast<int>(sizeof(buffer))));
int read_len = source.gcount();
target.write(buffer, read_len);
want -= read_len;
}
- delete [] buffer;
source.close();
target.close();