diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ruby/intern.h | 1 | ||||
-rw-r--r-- | include/ruby/ruby.h | 7 |
2 files changed, 7 insertions, 1 deletions
diff --git a/include/ruby/intern.h b/include/ruby/intern.h index 78ac3f9d00..829d732893 100644 --- a/include/ruby/intern.h +++ b/include/ruby/intern.h @@ -326,6 +326,7 @@ VALUE rb_hash_lookup(VALUE, VALUE); VALUE rb_hash_aset(VALUE, VALUE, VALUE); VALUE rb_hash_delete_if(VALUE); VALUE rb_hash_delete(VALUE,VALUE); +struct st_table *rb_hash_tbl(VALUE); int rb_path_check(const char*); int rb_env_path_tainted(void); /* io.c */ diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h index 2dbf29956e..63cb7b417e 100644 --- a/include/ruby/ruby.h +++ b/include/ruby/ruby.h @@ -478,10 +478,15 @@ struct RRegexp { struct RHash { struct RBasic basic; - struct st_table *tbl; + struct st_table *ntbl; /* maybe 0 */ int iter_lev; VALUE ifnone; }; +#define RHASH_TBL(h) rb_hash_tbl(h) +#define RHASH_ITER_LEV(h) RHASH(h)->iter_lev +#define RHASH_IFNONE(h) RHASH(h)->ifnone +#define RHASH_SIZE(h) (RHASH(h)->ntbl ? RHASH(h)->ntbl->num_entries : 0) +#define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0) struct RFile { struct RBasic basic; |