summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2024-10-02 06:28:59 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2024-10-26 18:44:15 +0900
commitd6046bccb7bbfd7b1c5810da16a5c86ee22a19fc (patch)
tree8e2fc6699bb181c0d8039f51e8aedfa836dcd9d0
parente7f06402dd8ce0f4e7210e0563662fb827c13ff8 (diff)
[ruby/strscan] Use C90 as far as supporting 2.6 or earlier
(https://github.com/ruby/strscan/pull/101) https://github.com/ruby/strscan/commit/d31274f41b
-rw-r--r--ext/strscan/strscan.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/ext/strscan/strscan.c b/ext/strscan/strscan.c
index e272f92249..1da53d8620 100644
--- a/ext/strscan/strscan.c
+++ b/ext/strscan/strscan.c
@@ -626,12 +626,13 @@ rb_reg_onig_match(VALUE re, VALUE str,
OnigPosition (*match)(regex_t *reg, VALUE str, struct re_registers *regs, void *args),
void *args, struct re_registers *regs)
{
+ OnigPosition result;
regex_t *reg = rb_reg_prepare_re(re, str);
bool tmpreg = reg != RREGEXP_PTR(re);
if (!tmpreg) RREGEXP(re)->usecnt++;
- OnigPosition result = match(reg, str, regs, args);
+ result = match(reg, str, regs, args);
if (!tmpreg) RREGEXP(re)->usecnt--;
if (tmpreg) {
@@ -694,12 +695,13 @@ strscan_do_scan(VALUE self, VALUE pattern, int succptr, int getstr, int headonly
}
if (RB_TYPE_P(pattern, T_REGEXP)) {
+ OnigPosition ret;
p->regex = pattern;
- OnigPosition ret = rb_reg_onig_match(pattern,
- p->str,
- headonly ? strscan_match : strscan_search,
- (void *)p,
- &(p->regs));
+ ret = rb_reg_onig_match(p->regex,
+ p->str,
+ headonly ? strscan_match : strscan_search,
+ (void *)p,
+ &(p->regs));
if (ret == ONIG_MISMATCH) {
return Qnil;
@@ -1139,13 +1141,14 @@ static VALUE
strscan_scan_byte(VALUE self)
{
struct strscanner *p;
+ VALUE byte;
GET_SCANNER(self, p);
CLEAR_MATCH_STATUS(p);
if (EOS_P(p))
return Qnil;
- VALUE byte = INT2FIX((unsigned char)*CURPTR(p));
+ byte = INT2FIX((unsigned char)*CURPTR(p));
p->prev = p->curr;
p->curr++;
MATCHED(p);
@@ -2114,8 +2117,8 @@ static VALUE
strscan_named_captures(VALUE self)
{
struct strscanner *p;
- GET_SCANNER(self, p);
named_captures_data data;
+ GET_SCANNER(self, p);
data.self = self;
data.captures = rb_hash_new();
if (!RB_NIL_P(p->regex)) {