diff options
author | Adam <Adam@anope.org> | 2012-12-13 06:12:56 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2012-12-13 06:12:56 -0500 |
commit | c1077faa281c5635f85b892e605e23bd6c8fcc3b (patch) | |
tree | 213b5f87a19f182e1efd6110f03ff10d5b10ebf6 /src/modulemanager.cpp | |
parent | 76ba147c22944b67e8522cd2bb7b6e1bae498ced (diff) |
Optimize much of the database code and serialize code.
Diffstat (limited to 'src/modulemanager.cpp')
-rw-r--r-- | src/modulemanager.cpp | 5 |
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(); |