summaryrefslogtreecommitdiff
path: root/variable.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-03-23 04:14:31 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-03-23 04:14:31 +0000
commit6c2be430400d53832eb05d5b617e495121e9241f (patch)
tree80abe89f64ec3e762f274c6da25385fdd3bfdf1c /variable.c
parent8f5c38d5fd0f2ef165a71f44b9c5410d1e0743bb (diff)
2000-03-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_4@647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'variable.c')
-rw-r--r--variable.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/variable.c b/variable.c
index 5e041f876d..50ad3a4b49 100644
--- a/variable.c
+++ b/variable.c
@@ -226,6 +226,7 @@ rb_autoload_id(id, filename)
ID id;
const char *filename;
{
+ rb_secure(4);
if (!rb_is_const_id(id)) {
rb_raise(rb_eNameError, "autoload must be constant name",
rb_id2name(id));
@@ -640,7 +641,7 @@ rb_gvar_set(entry, val)
}
VALUE
-rb_gvar_set2(name, val)
+rb_gv_set(name, val)
const char *name;
VALUE val;
{
@@ -651,6 +652,16 @@ rb_gvar_set2(name, val)
}
VALUE
+rb_gv_get(name)
+ const char *name;
+{
+ struct global_entry *entry;
+
+ entry = rb_global_entry(global_id(name));
+ return rb_gvar_get(entry);
+}
+
+VALUE
rb_gvar_defined(entry)
struct global_entry *entry;
{
@@ -1043,6 +1054,7 @@ rb_const_get(klass, id)
st_delete(autoload_tbl, &id, &modname);
module = rb_str_new2(modname);
+ FL_UNSET(module, FL_TAINT);
free(modname);
rb_f_require(Qnil, module);
return rb_const_get(klass, id);