diff options
| -rw-r--r-- | lparser.c | 5 |
1 files changed, 2 insertions, 3 deletions
| @@ -849,12 +849,11 @@ static void recfield (LexState *ls, ConsControl *cc) { | |||
| 849 | FuncState *fs = ls->fs; | 849 | FuncState *fs = ls->fs; |
| 850 | int reg = ls->fs->freereg; | 850 | int reg = ls->fs->freereg; |
| 851 | expdesc tab, key, val; | 851 | expdesc tab, key, val; |
| 852 | if (ls->t.token == TK_NAME) { | 852 | if (ls->t.token == TK_NAME) |
| 853 | checklimit(fs, cc->nh, MAX_INT, "items in a constructor"); | ||
| 854 | codename(ls, &key); | 853 | codename(ls, &key); |
| 855 | } | ||
| 856 | else /* ls->t.token == '[' */ | 854 | else /* ls->t.token == '[' */ |
| 857 | yindex(ls, &key); | 855 | yindex(ls, &key); |
| 856 | checklimit(fs, cc->nh, MAX_INT, "items in a constructor"); | ||
| 858 | cc->nh++; | 857 | cc->nh++; |
| 859 | checknext(ls, '='); | 858 | checknext(ls, '='); |
| 860 | tab = *cc->t; | 859 | tab = *cc->t; |
