1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[ruby/strscan] Remove taint support

Ruby 2.7 deprecates taint and it no longer has an effect.
The lack of taint support should not cause a problem in
previous Ruby versions.
This commit is contained in:
Jeremy Evans 2019-11-14 16:56:02 -08:00
parent afbd8f384a
commit d03da13b17
Notes: git 2019-11-18 08:01:11 +09:00

View file

@ -77,7 +77,6 @@ struct strscanner
======================================================================= */
static inline long minl _((const long n, const long x));
static VALUE infect _((VALUE str, struct strscanner *p));
static VALUE extract_range _((struct strscanner *p, long beg_i, long end_i));
static VALUE extract_beg_len _((struct strscanner *p, long beg_i, long len));
@ -138,13 +137,6 @@ static VALUE inspect2 _((struct strscanner *p));
Utils
======================================================================= */
static VALUE
infect(VALUE str, struct strscanner *p)
{
OBJ_INFECT(str, p->str);
return str;
}
static VALUE
str_new(struct strscanner *p, const char *ptr, long len)
{
@ -164,7 +156,7 @@ extract_range(struct strscanner *p, long beg_i, long end_i)
{
if (beg_i > S_LEN(p)) return Qnil;
end_i = minl(end_i, S_LEN(p));
return infect(str_new(p, S_PBEG(p) + beg_i, end_i - beg_i), p);
return str_new(p, S_PBEG(p) + beg_i, end_i - beg_i);
}
static VALUE
@ -172,7 +164,7 @@ extract_beg_len(struct strscanner *p, long beg_i, long len)
{
if (beg_i > S_LEN(p)) return Qnil;
len = minl(len, S_LEN(p) - beg_i);
return infect(str_new(p, S_PBEG(p) + beg_i, len), p);
return str_new(p, S_PBEG(p) + beg_i, len);
}
/* =======================================================================
@ -950,7 +942,7 @@ strscan_peek(VALUE self, VALUE vlen)
len = NUM2LONG(vlen);
if (EOS_P(p))
return infect(str_new(p, "", 0), p);
return str_new(p, "", 0);
len = minl(len, S_RESTLEN(p));
return extract_beg_len(p, p->curr, len);
@ -1336,7 +1328,7 @@ strscan_rest(VALUE self)
GET_SCANNER(self, p);
if (EOS_P(p)) {
return infect(str_new(p, "", 0), p);
return str_new(p, "", 0);
}
return extract_range(p, p->curr, S_LEN(p));
}
@ -1391,11 +1383,11 @@ strscan_inspect(VALUE self)
p = check_strscan(self);
if (NIL_P(p->str)) {
a = rb_sprintf("#<%"PRIsVALUE" (uninitialized)>", rb_obj_class(self));
return infect(a, p);
return a;
}
if (EOS_P(p)) {
a = rb_sprintf("#<%"PRIsVALUE" fin>", rb_obj_class(self));
return infect(a, p);
return a;
}
if (p->curr == 0) {
b = inspect2(p);
@ -1403,7 +1395,7 @@ strscan_inspect(VALUE self)
rb_obj_class(self),
p->curr, S_LEN(p),
b);
return infect(a, p);
return a;
}
a = inspect1(p);
b = inspect2(p);
@ -1411,7 +1403,7 @@ strscan_inspect(VALUE self)
rb_obj_class(self),
p->curr, S_LEN(p),
a, b);
return infect(a, p);
return a;
}
static VALUE