summaryrefslogtreecommitdiff
path: root/sql/sql_lex.cc
diff options
context:
space:
mode:
authormonty@work.mysql.com <>2001-09-13 09:52:35 +0200
committermonty@work.mysql.com <>2001-09-13 09:52:35 +0200
commit18474d84196f937a9a0bca49d8a822d3e48bf298 (patch)
tree1fb0fbca5b7a4edebe2c26a5ed0b272e92bc21f2 /sql/sql_lex.cc
parent08df09230f26ec86e61d3297314343ee65092359 (diff)
parentc946439d6c8d402a0a1a2a6520760dab16648c21 (diff)
downloadmariadb-git-18474d84196f937a9a0bca49d8a822d3e48bf298.tar.gz
Merge with 3.23.42
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r--sql/sql_lex.cc16
1 files changed, 13 insertions, 3 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc
index 0e77757b13b..bfda57a06ad 100644
--- a/sql/sql_lex.cc
+++ b/sql/sql_lex.cc
@@ -820,9 +820,19 @@ int yylex(void *arg)
}
break;
case STATE_USER_END: // end '@' of user@hostname
- if (state_map[yyPeek()] != STATE_STRING &&
- state_map[yyPeek()] != STATE_USER_VARIABLE_DELIMITER)
- lex->next_state=STATE_HOSTNAME; // Mark for next loop
+ switch (state_map[yyPeek()])
+ {
+ case STATE_STRING:
+ case STATE_USER_VARIABLE_DELIMITER:
+ break;
+ case STATE_USER_END:
+ lex->next_state=STATE_USER_END;
+ yySkip();
+ break;
+ default:
+ lex->next_state=STATE_HOSTNAME;
+ break;
+ }
yylval->lex_str.str=(char*) lex->ptr;
yylval->lex_str.length=1;
return((int) '@');