mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Fixed HERETERM_LENGTH_MAX on IL32LLP64
This commit is contained in:
parent
c7f780c155
commit
6a3165e19d
1 changed files with 3 additions and 3 deletions
6
parse.y
6
parse.y
|
@ -613,9 +613,9 @@ struct rb_strterm_heredoc_struct {
|
|||
unsigned length /* the length of END in `<<"END"` */
|
||||
#if HERETERM_LENGTH_BITS < SIZEOF_INT * CHAR_BIT
|
||||
: HERETERM_LENGTH_BITS
|
||||
# define HERETERM_LENGTH_MAX ((1U << HERETERM_LENGTH_BITS) - 1)
|
||||
#else
|
||||
# undef HERETERM_LENGTH_BITS
|
||||
# define HERETERM_LENGTH_BITS (SIZEOF_INT * CHAR_BIT)
|
||||
# define HERETERM_LENGTH_MAX UINT_MAX
|
||||
#endif
|
||||
;
|
||||
unsigned quote: 1;
|
||||
|
@ -6850,7 +6850,7 @@ heredoc_identifier(struct parser_params *p)
|
|||
}
|
||||
|
||||
len = p->lex.pcur - (p->lex.pbeg + offset) - quote;
|
||||
if ((unsigned long)len >= 1LU << HERETERM_LENGTH_BITS)
|
||||
if ((unsigned long)len >= HERETERM_LENGTH_MAX)
|
||||
yyerror(NULL, p, "too long here document identifier");
|
||||
dispatch_scan_event(p, tHEREDOC_BEG);
|
||||
lex_goto_eol(p);
|
||||
|
|
Loading…
Reference in a new issue