summaryrefslogtreecommitdiff
path: root/pexpect
diff options
context:
space:
mode:
authordluyer <53582923+dluyer@users.noreply.github.com>2019-08-02 14:46:35 -0700
committerGitHub <noreply@github.com>2019-08-02 14:46:35 -0700
commit7ab86626d1e88a7f844865c598658121e2f68a42 (patch)
tree823f22c703bd33e9c7627b04f2f7d8ff4efd52f6 /pexpect
parent07a46a8c78caf4d6b6bd43134dfffcbf48663bb5 (diff)
downloadpexpect-git-7ab86626d1e88a7f844865c598658121e2f68a42.tar.gz
Updates from internal code review.
Diffstat (limited to 'pexpect')
-rw-r--r--pexpect/expect.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/pexpect/expect.py b/pexpect/expect.py
index 28a224d..a9c3c49 100644
--- a/pexpect/expect.py
+++ b/pexpect/expect.py
@@ -6,6 +6,8 @@ class Expecter(object):
def __init__(self, spawn, searcher, searchwindowsize=-1):
self.spawn = spawn
self.searcher = searcher
+ # A value of -1 means to use the figure from spawn, which should
+ # be None or a positive number.
if searchwindowsize == -1:
searchwindowsize = spawn.searchwindowsize
self.searchwindowsize = searchwindowsize
@@ -30,7 +32,8 @@ class Expecter(object):
spawn._buffer.write(spawn._before.getvalue())
elif buf_len < self.searchwindowsize:
spawn._buffer = spawn.buffer_type()
- spawn._before.seek(max(0, pos - self.searchwindowsize))
+ spawn._before.seek(
+ max(0, before_len - self.searchwindowsize))
window = spawn._before.read()
spawn._buffer.write(window)
else:
@@ -66,13 +69,15 @@ class Expecter(object):
new_len = spawn._buffer.tell()
spawn._buffer.seek(max(0, new_len - self.searchwindowsize))
window = spawn._buffer.read()
+
if freshlen > len(window):
freshlen = len(window)
index = searcher.search(window, freshlen, self.searchwindowsize)
if index >= 0:
spawn._buffer = spawn.buffer_type()
spawn._buffer.write(window[searcher.end:])
- spawn.before = spawn._before.getvalue()[0:-(len(window) - searcher.start)]
+ spawn.before = spawn._before.getvalue()[
+ 0:-(len(window) - searcher.start)]
spawn._before = spawn.buffer_type()
spawn._before.write(window[searcher.end:])
spawn.after = window[searcher.start:searcher.end]