diff options
Diffstat (limited to 'lparser.c')
-rw-r--r-- | lparser.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -959,7 +959,7 @@ static void constructor (LexState *ls, expdesc *t) { | |||
959 | 959 | ||
960 | 960 | ||
961 | static void setvararg (FuncState *fs, int nparams) { | 961 | static void setvararg (FuncState *fs, int nparams) { |
962 | fs->f->is_vararg = 1; | 962 | fs->f->flag |= PF_ISVARARG; |
963 | luaK_codeABC(fs, OP_VARARGPREP, nparams, 0, 0); | 963 | luaK_codeABC(fs, OP_VARARGPREP, nparams, 0, 0); |
964 | } | 964 | } |
965 | 965 | ||
@@ -1177,7 +1177,7 @@ static void simpleexp (LexState *ls, expdesc *v) { | |||
1177 | } | 1177 | } |
1178 | case TK_DOTS: { /* vararg */ | 1178 | case TK_DOTS: { /* vararg */ |
1179 | FuncState *fs = ls->fs; | 1179 | FuncState *fs = ls->fs; |
1180 | check_condition(ls, fs->f->is_vararg, | 1180 | check_condition(ls, fs->f->flag & PF_ISVARARG, |
1181 | "cannot use '...' outside a vararg function"); | 1181 | "cannot use '...' outside a vararg function"); |
1182 | init_exp(v, VVARARG, luaK_codeABC(fs, OP_VARARG, 0, 0, 1)); | 1182 | init_exp(v, VVARARG, luaK_codeABC(fs, OP_VARARG, 0, 0, 1)); |
1183 | break; | 1183 | break; |