void rb_load_protect(VALUE fname, int wrap, int *state) { int status; volatile VALUE path = 0; PUSH_TAG(); if ((status = EXEC_TAG()) == 0) { path = file_to_load(fname); } POP_TAG(); if (!status) status = rb_load_internal0(GET_THREAD(), path, wrap); if (state) *state = status; }
void rb_load_protect(VALUE fname, int wrap, int *pstate) { enum ruby_tag_type state; volatile VALUE path = 0; EC_PUSH_TAG(GET_EC()); if ((state = EC_EXEC_TAG()) == TAG_NONE) { path = file_to_load(fname); } EC_POP_TAG(); if (state == TAG_NONE) state = rb_load_internal0(GET_EC(), path, wrap); if (state != TAG_NONE) *pstate = state; }
void rb_load(VALUE fname, int wrap) { rb_load_internal(file_to_load(fname), wrap); }