static VALUE rb_f_load(int argc, VALUE *argv) { VALUE fname, wrap, path, orig_fname; rb_scan_args(argc, argv, "11", &fname, &wrap); if (RUBY_DTRACE_LOAD_ENTRY_ENABLED()) { RUBY_DTRACE_LOAD_ENTRY(StringValuePtr(fname), rb_sourcefile(), rb_sourceline()); } orig_fname = FilePathValue(fname); fname = rb_str_encode_ospath(orig_fname); path = rb_find_file(fname); if (!path) { if (!rb_file_load_ok(RSTRING_PTR(fname))) load_failed(orig_fname); path = fname; } rb_load_internal(path, RTEST(wrap)); if (RUBY_DTRACE_LOAD_RETURN_ENABLED()) { RUBY_DTRACE_LOAD_RETURN(StringValuePtr(fname), rb_sourcefile(), rb_sourceline()); } return Qtrue; }
static VALUE file_to_load(VALUE fname) { VALUE tmp = rb_find_file(FilePathValue(fname)); if (!tmp) load_failed(fname); return tmp; }
void rb_load(VALUE fname, int wrap) { VALUE tmp = rb_find_file(FilePathValue(fname)); if (!tmp) load_failed(fname); rb_load_internal(tmp, wrap); }
static VALUE rb_f_load(int argc, VALUE *argv) { VALUE fname, wrap, path; rb_scan_args(argc, argv, "11", &fname, &wrap); path = rb_find_file(FilePathValue(fname)); if (!path) { if (!rb_file_load_ok(RSTRING_PTR(fname))) load_failed(fname); path = fname; } rb_load_internal(path, RTEST(wrap)); return Qtrue; }
static VALUE rb_f_load(int argc, VALUE *argv) { VALUE fname, wrap, path, orig_fname; rb_scan_args(argc, argv, "11", &fname, &wrap); orig_fname = rb_get_path_check_to_string(fname, rb_safe_level()); fname = rb_str_encode_ospath(orig_fname); RUBY_DTRACE_HOOK(LOAD_ENTRY, RSTRING_PTR(orig_fname)); path = rb_find_file(fname); if (!path) { if (!rb_file_load_ok(RSTRING_PTR(fname))) load_failed(orig_fname); path = fname; } rb_load_internal(path, RTEST(wrap)); RUBY_DTRACE_HOOK(LOAD_RETURN, RSTRING_PTR(orig_fname)); return Qtrue; }
void rb_load(VALUE fname, int wrap) { #if MACRUBY_STATIC rb_raise(rb_eRuntimeError, "#load is not supported in MacRuby static"); #else // TODO honor wrap // Locate file. FilePathValue(fname); fname = rb_str_new4(fname); VALUE tmp = rb_find_file(fname); if (tmp == 0) { load_failed(fname); } fname = tmp; // Load it. const char *fname_str = RSTRING_PTR(fname); //printf("load %s\n", fname_str); rb_vm_load(fname_str, wrap); #endif }