From 3d928c49a00835e63f83649cb64d0e2eb6da9fdb Mon Sep 17 00:00:00 2001 From: zimoch Date: Tue, 12 Oct 2010 08:33:35 +0000 Subject: [PATCH] Performance bug fixed: search for terminator was O(n^2) --- src/StreamCore.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/StreamCore.cc b/src/StreamCore.cc index f9e5e40..36ac919 100644 --- a/src/StreamCore.cc +++ b/src/StreamCore.cc @@ -992,7 +992,9 @@ readCallback(StreamIoStatus status, if (inTerminator) { // look for terminator - end = inputBuffer.find(inTerminator); + long start = inputBuffer.length() - size - inTerminator.length(); + if (start < 0) start = 0; + end = inputBuffer.find(inTerminator, start); if (end >= 0) { termlen = inTerminator.length();