Skip to content

Commit 1f8dfd8

Browse files
author
quest
committed
Oops; doesnt handle UTF-8 correctly when reading from stream
1 parent 1e3fbad commit 1f8dfd8

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

sqlparse/lexer.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -271,8 +271,9 @@ def get_tokens_unprocessed(self, stream, stack=('root',)):
271271
statetokens = tokendefs[statestack[-1]]
272272
known_names = {}
273273

274-
text = self._decode(stream.read(self.bufsize))
274+
text = stream.read(self.bufsize)
275275
hasmore = len(text) == self.bufsize
276+
text = self._decode(text)
276277

277278
while 1:
278279
for rexmatch, action, new_state in statetokens:
@@ -317,9 +318,9 @@ def get_tokens_unprocessed(self, stream, stack=('root',)):
317318
break
318319
else:
319320
if hasmore:
320-
buf = self._decode(stream.read(self.bufsize))
321+
buf = stream.read(self.bufsize)
321322
hasmore = len(buf) == self.bufsize
322-
text = text[pos:] + buf
323+
text = text[pos:] + self._decode(buf)
323324
pos = 0
324325
continue
325326

0 commit comments

Comments
 (0)