[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:
parent
afbd8f384a
commit
d03da13b17
Notes:
git
2019-11-18 08:01:11 +09:00
@ -77,7 +77,6 @@ struct strscanner
|
|||||||
======================================================================= */
|
======================================================================= */
|
||||||
|
|
||||||
static inline long minl _((const long n, const long x));
|
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_range _((struct strscanner *p, long beg_i, long end_i));
|
||||||
static VALUE extract_beg_len _((struct strscanner *p, long beg_i, long len));
|
static VALUE extract_beg_len _((struct strscanner *p, long beg_i, long len));
|
||||||
|
|
||||||
@ -138,13 +137,6 @@ static VALUE inspect2 _((struct strscanner *p));
|
|||||||
Utils
|
Utils
|
||||||
======================================================================= */
|
======================================================================= */
|
||||||
|
|
||||||
static VALUE
|
|
||||||
infect(VALUE str, struct strscanner *p)
|
|
||||||
{
|
|
||||||
OBJ_INFECT(str, p->str);
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
str_new(struct strscanner *p, const char *ptr, long len)
|
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;
|
if (beg_i > S_LEN(p)) return Qnil;
|
||||||
end_i = minl(end_i, S_LEN(p));
|
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
|
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;
|
if (beg_i > S_LEN(p)) return Qnil;
|
||||||
len = minl(len, S_LEN(p) - beg_i);
|
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);
|
len = NUM2LONG(vlen);
|
||||||
if (EOS_P(p))
|
if (EOS_P(p))
|
||||||
return infect(str_new(p, "", 0), p);
|
return str_new(p, "", 0);
|
||||||
|
|
||||||
len = minl(len, S_RESTLEN(p));
|
len = minl(len, S_RESTLEN(p));
|
||||||
return extract_beg_len(p, p->curr, len);
|
return extract_beg_len(p, p->curr, len);
|
||||||
@ -1336,7 +1328,7 @@ strscan_rest(VALUE self)
|
|||||||
|
|
||||||
GET_SCANNER(self, p);
|
GET_SCANNER(self, p);
|
||||||
if (EOS_P(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));
|
return extract_range(p, p->curr, S_LEN(p));
|
||||||
}
|
}
|
||||||
@ -1391,11 +1383,11 @@ strscan_inspect(VALUE self)
|
|||||||
p = check_strscan(self);
|
p = check_strscan(self);
|
||||||
if (NIL_P(p->str)) {
|
if (NIL_P(p->str)) {
|
||||||
a = rb_sprintf("#<%"PRIsVALUE" (uninitialized)>", rb_obj_class(self));
|
a = rb_sprintf("#<%"PRIsVALUE" (uninitialized)>", rb_obj_class(self));
|
||||||
return infect(a, p);
|
return a;
|
||||||
}
|
}
|
||||||
if (EOS_P(p)) {
|
if (EOS_P(p)) {
|
||||||
a = rb_sprintf("#<%"PRIsVALUE" fin>", rb_obj_class(self));
|
a = rb_sprintf("#<%"PRIsVALUE" fin>", rb_obj_class(self));
|
||||||
return infect(a, p);
|
return a;
|
||||||
}
|
}
|
||||||
if (p->curr == 0) {
|
if (p->curr == 0) {
|
||||||
b = inspect2(p);
|
b = inspect2(p);
|
||||||
@ -1403,7 +1395,7 @@ strscan_inspect(VALUE self)
|
|||||||
rb_obj_class(self),
|
rb_obj_class(self),
|
||||||
p->curr, S_LEN(p),
|
p->curr, S_LEN(p),
|
||||||
b);
|
b);
|
||||||
return infect(a, p);
|
return a;
|
||||||
}
|
}
|
||||||
a = inspect1(p);
|
a = inspect1(p);
|
||||||
b = inspect2(p);
|
b = inspect2(p);
|
||||||
@ -1411,7 +1403,7 @@ strscan_inspect(VALUE self)
|
|||||||
rb_obj_class(self),
|
rb_obj_class(self),
|
||||||
p->curr, S_LEN(p),
|
p->curr, S_LEN(p),
|
||||||
a, b);
|
a, b);
|
||||||
return infect(a, p);
|
return a;
|
||||||
}
|
}
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user