summaryrefslogtreecommitdiff
path: root/variable.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-06-25 05:28:24 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-06-25 05:28:24 +0000
commit0c4fe2b522b3c51f4c815d37e3d953d59a32f29e (patch)
tree5f454a9d4b1db9e4368634cb7a76d54648a7683e /variable.c
parent17e1936d8bdd897cebd03ed198a826ee395572ac (diff)
* variable.c (autoload_delete): should delete Qundef from iv_tbl.
(ruby-bugs-ja PR#504) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'variable.c')
-rw-r--r--variable.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/variable.c b/variable.c
index 5c65c04..eb1f3e3 100644
--- a/variable.c
+++ b/variable.c
@@ -1170,12 +1170,13 @@ autoload_delete(mod, id)
{
VALUE val, file = Qnil;
+ st_delete(RCLASS(mod)->iv_tbl, &id, 0);
if (st_lookup(RCLASS(mod)->iv_tbl, autoload, &val)) {
struct st_table *tbl = check_autoload_table(val);
if (!st_delete(tbl, &id, &file)) file = Qnil;
- if (!tbl->num_entries) {
+ if (tbl->num_entries == 0) {
DATA_PTR(val) = 0;
st_free_table(tbl);
id = autoload;