diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-10-20 19:07:07 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-10-20 19:07:07 +0000 |
commit | 6b09a04f39eca23bd9caa1cf088cf22bf4802ff6 (patch) | |
tree | 1649acf061059cc7682b87bc600c0b72b0f0f507 /vespalib | |
parent | 6c04fc0c477ed4c5c1a07430c4ed697c221f9e57 (diff) |
Use a buffer on the heap over a buffer on the stack. Also increase buffer from 8k to 64k
Diffstat (limited to 'vespalib')
-rw-r--r-- | vespalib/src/vespa/vespalib/stllike/asciistream.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/vespalib/src/vespa/vespalib/stllike/asciistream.cpp b/vespalib/src/vespa/vespalib/stllike/asciistream.cpp index 8e4a0e7567a..bedd0f119c6 100644 --- a/vespalib/src/vespa/vespalib/stllike/asciistream.cpp +++ b/vespalib/src/vespa/vespalib/stllike/asciistream.cpp @@ -7,7 +7,6 @@ #include <vespa/vespalib/util/size_literals.h> #include <vespa/vespalib/locale/c.h> #include <vespa/fastos/file.h> -#include <algorithm> #include <limits> #include <stdexcept> #include <cassert> @@ -615,9 +614,9 @@ asciistream asciistream::createFromDevice(stringref fileName) FastOS_File file(vespalib::string(fileName).c_str()); asciistream is; if (file.OpenReadOnly()) { - char buf[8_Ki]; - for (ssize_t actual = file.Read(buf, sizeof(buf)); actual > 0; actual = file.Read(buf, sizeof(buf))) { - is << stringref(buf, actual); + MallocPtr buf(64_Ki); + for (ssize_t actual = file.Read(buf, buf.size()); actual > 0; actual = file.Read(buf, buf.size())) { + is << stringref(buf.c_str(), actual); } } return is; |