summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-05-08 09:38:16 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-05-08 09:38:16 +0000
commitdde6b7dd06268221b3e6931ca7582b2da7b52403 (patch)
tree0bdfde93b61d81649427e054af09fc3a7660a82d /gc.c
parent71ad3aa4ffdf0c5e8b387bb9c258ce1b66d6836e (diff)
pack/unpack unsigned
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gc.c b/gc.c
index 1642b4bf8b..e208d96ab5 100644
--- a/gc.c
+++ b/gc.c
@@ -658,7 +658,7 @@ obj_free(obj)
break;
case T_STRING:
#define STR_NO_ORIG FL_USER3 /* copied from string.c */
- if (!RANY(obj)->as.string.orig && FL_TEST(obj, STR_NO_ORIG))
+ if (!RANY(obj)->as.string.orig || FL_TEST(obj, STR_NO_ORIG))
free(RANY(obj)->as.string.ptr);
break;
case T_ARRAY:
@@ -1022,7 +1022,7 @@ static VALUE
id2ref(obj, id)
VALUE obj, id;
{
- INT ptr = NUM2INT(id);
+ INT ptr = NUM2UINT(id);
if (FIXNUM_P(ptr)) return (VALUE)ptr;
if (ptr == TRUE) return TRUE;