diff options
Diffstat (limited to 'lib/net')
-rw-r--r-- | lib/net/imap.rb | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/net/imap.rb b/lib/net/imap.rb index 6162ffa0d0..b42b0d1dea 100644 --- a/lib/net/imap.rb +++ b/lib/net/imap.rb @@ -2764,11 +2764,16 @@ module Net match(T_SPACE) result = ResponseCode.new(name, number) else - match(T_SPACE) - @lex_state = EXPR_CTEXT - token = match(T_TEXT) - @lex_state = EXPR_BEG - result = ResponseCode.new(name, token.value) + token = lookahead + if token.symbol == T_SPACE + shift_token + @lex_state = EXPR_CTEXT + token = match(T_TEXT) + @lex_state = EXPR_BEG + result = ResponseCode.new(name, token.value) + else + result = ResponseCode.new(name, nil) + end end match(T_RBRA) @lex_state = EXPR_RTEXT |