summaryrefslogtreecommitdiff
path: root/ruby.h
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-02-05 15:06:41 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-02-05 15:06:41 +0000
commit4f245852bc12454674e9f9efe52a009a682389e2 (patch)
tree5da759f6db855c525c54b9dcd69227469e2f7c4e /ruby.h
parented0fd0279617024a608a8ee4c1aa931db61e92c4 (diff)
fix previous commit.
don't use FL_USER0 because FL_SINGLETON. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.h')
-rw-r--r--ruby.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/ruby.h b/ruby.h
index 4244cd4ee4..ca4cf27d3c 100644
--- a/ruby.h
+++ b/ruby.h
@@ -428,11 +428,12 @@ struct RStruct {
VALUE ary[RSTRUCT_EMBED_LEN_MAX];
} as;
};
-#define RSTRUCT_EMBED_LEN_MASK (FL_USER1|FL_USER0)
-#define RSTRUCT_EMBED_LEN_SHIFT FL_USHIFT
+#define RSTRUCT_EMBED_LEN_MASK (FL_USER2|FL_USER1)
+#define RSTRUCT_EMBED_LEN_SHIFT FL_USHIFT+1
#define RSTRUCT_LEN(st) \
((RBASIC(st)->flags & RSTRUCT_EMBED_LEN_MASK) ? \
- (RBASIC(st)->flags >> RSTRUCT_EMBED_LEN_SHIFT) & 3 : \
+ (RBASIC(st)->flags >> RSTRUCT_EMBED_LEN_SHIFT) & \
+ (RSTRUCT_EMBED_LEN_MASK >> RSTRUCT_EMBED_LEN_SHIFT) : \
RSTRUCT(st)->as.heap.len)
#define RSTRUCT_PTR(st) \
((RBASIC(st)->flags & RSTRUCT_EMBED_LEN_MASK) ? \