Esempio n. 1
0
/*
 * 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;
}
Esempio n. 2
0
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;
}