summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-07-10 22:23:03 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-07-10 22:23:03 +0000
commitb9d5841f8f8660860e2f6d1669056be01960bfd7 (patch)
tree81de9059c0d32e77a07a83244929ca7528f955ab /src
parent21ec94afe38878f0efdf1df3ad5a9f724d5cf3e0 (diff)
ContentSize speedups
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4316 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r--src/modules.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/modules.cpp b/src/modules.cpp
index 3ec932980..2297db53b 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -931,6 +931,7 @@ FileReader::FileReader(const std::string &filename)
file_cache c;
readfile(c,filename.c_str());
this->fc = c;
+ this->CalcSize();
}
FileReader::FileReader()
@@ -942,7 +943,7 @@ std::string FileReader::Contents()
std::string x = "";
for (file_cache::iterator a = this->fc.begin(); a != this->fc.end(); a++)
{
- x.append(a->c_str());
+ x.append(*a);
x.append("\r\n");
}
return x;
@@ -950,10 +951,15 @@ std::string FileReader::Contents()
unsigned long FileReader::ContentSize()
{
+ return this->contentsize;
+}
+
+void FileReader::CalcSize()
+{
unsigned long n = 0;
for (file_cache::iterator a = this->fc.begin(); a != this->fc.end(); a++)
n += (a->length() + 2);
- return n;
+ this->contentsize = n;
}
void FileReader::LoadFile(const std::string &filename)
@@ -961,6 +967,7 @@ void FileReader::LoadFile(const std::string &filename)
file_cache c;
readfile(c,filename.c_str());
this->fc = c;
+ this->CalcSize();
}