/* * call-seq: * pathname.untaint -> obj * * Untaints this Pathname. * * See Object.untaint. */ static VALUE path_untaint(VALUE self) { rb_call_super(0, 0); rb_obj_untaint(get_strpath(self)); return self; }
static VALUE env_reject_bang(VALUE ehash, SEL sel) { RETURN_ENUMERATOR(ehash, 0, 0); VALUE keys = env_keys(Qnil, 0); /* rb_secure(4); */ bool deleted = false; for (long i = 0, count = RARRAY_LEN(keys); i < count; i++) { VALUE key = RARRAY_AT(keys, i); VALUE val = rb_f_getenv(Qnil, 0, key); if (!NIL_P(val)) { VALUE v = rb_yield_values(2, key, val); RETURN_IF_BROKEN(); if (RTEST(v)) { rb_obj_untaint(key); env_delete(Qnil, key); deleted = true; } } } return deleted ? envtbl : Qnil; }