mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #853 from cremno/pluggable-regex-msvc-fix
MSVC: vars must be declared at the start of a block
This commit is contained in:
+4
-4
@@ -1918,12 +1918,12 @@ codegen(codegen_scope *s, node *tree, int val)
|
||||
int ai = mrb_gc_arena_save(s->mrb);
|
||||
struct RClass* c = mrb_class_get(s->mrb, REGEXP_CLASS);
|
||||
mrb_value args[2];
|
||||
int off;
|
||||
|
||||
args[0] = mrb_str_new(s->mrb, p1, strlen(p1));
|
||||
// TODO: Some regexp implementation does not have second argument
|
||||
//args[1] = mrb_str_new(s->mrb, p2, strlen(p2));
|
||||
int off = new_lit(s,
|
||||
mrb_class_new_instance(s->mrb, 1, args, c));
|
||||
|
||||
//args[1] = mrb_str_new(s->mrb, p2, strlen(p2))
|
||||
off = new_lit(s, mrb_class_new_instance(s->mrb, 1, args, c));
|
||||
mrb_gc_arena_restore(s->mrb, ai);
|
||||
genop(s, MKOP_ABx(OP_LOADL, cursp(), off));
|
||||
push();
|
||||
|
||||
+3
-3
@@ -3447,8 +3447,9 @@ parse_string(parser_state *p, int term)
|
||||
if (p->regexp) {
|
||||
int f = 0;
|
||||
int c;
|
||||
char* s;
|
||||
s = strndup(tok(p), toklen(p));
|
||||
char *s = strndup(tok(p), toklen(p));
|
||||
char flag[4] = { '\0' };
|
||||
|
||||
newtok(p);
|
||||
while (c = nextc(p), ISALPHA(c)) {
|
||||
switch (c) {
|
||||
@@ -3467,7 +3468,6 @@ parse_string(parser_state *p, int term)
|
||||
toklen(p) > 1 ? "s" : "", tok(p));
|
||||
yyerror(p, msg);
|
||||
}
|
||||
char flag[4] = {0};
|
||||
if (f & 1) strcat(flag, "i");
|
||||
if (f & 2) strcat(flag, "x");
|
||||
if (f & 4) strcat(flag, "m");
|
||||
|
||||
Reference in New Issue
Block a user