Fixed the bug in searching for triple quotes -- change the 'quote2'

variable from a pointer to an index, so a realloc() of the buffer
won't disturb it.  Problem found by Vladimir Marangozov.
This commit is contained in:
Guido van Rossum 1998-02-16 15:42:50 +00:00
parent 9d20ac36a9
commit 35685240a9

View file

@ -672,7 +672,7 @@ PyTokenizer_Get(tok, p_start, p_end)
letter_quote:
/* String */
if (c == '\'' || c == '"') {
char *quote2 = tok->cur+1;
int quote2 = tok->cur - tok->start + 1;
int quote = c;
int triple = 0;
int tripcount = 0;
@ -693,7 +693,7 @@ PyTokenizer_Get(tok, p_start, p_end)
}
else if (c == quote) {
tripcount++;
if (tok->cur == quote2) {
if (tok->cur - tok->start == quote2) {
c = tok_nextc(tok);
if (c == quote) {
triple = 1;