diff options
author | monty@work.mysql.com <> | 2001-09-13 09:52:35 +0200 |
---|---|---|
committer | monty@work.mysql.com <> | 2001-09-13 09:52:35 +0200 |
commit | 18474d84196f937a9a0bca49d8a822d3e48bf298 (patch) | |
tree | 1fb0fbca5b7a4edebe2c26a5ed0b272e92bc21f2 /sql/sql_lex.cc | |
parent | 08df09230f26ec86e61d3297314343ee65092359 (diff) | |
parent | c946439d6c8d402a0a1a2a6520760dab16648c21 (diff) | |
download | mariadb-git-18474d84196f937a9a0bca49d8a822d3e48bf298.tar.gz |
Merge with 3.23.42
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r-- | sql/sql_lex.cc | 16 |
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) '@'); |