1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

fix type.

* internal.h (RHASH_ARRAY_SIZE_RAW): should be `int` because
  it returns n<=8.

* hash.c (RHASH_ARRAY_BOUND_RAW): ditto.

* hash.c (RHASH_ARRAY_SIZE_RAW): remove a duplicated definition.

* hash.c (linear_keys, linear_values): return `long`.

* hash.c (linear_keys): fix initialize expression of `key_end`.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2018-10-30 22:55:31 +00:00
parent 3bdd8e74f3
commit 3579675670
2 changed files with 6 additions and 9 deletions

13
hash.c
View file

@ -347,15 +347,12 @@ empty_entry(li_table_entry *entry)
return entry->hash == 0;
}
#define RHASH_ARRAY_SIZE_RAW(h) \
((long)((RBASIC(h)->flags & RHASH_ARRAY_SIZE_MASK) >> RHASH_ARRAY_SIZE_SHIFT))
#define RHASH_ARRAY_SIZE(h) (HASH_ASSERT(RHASH_ARRAY_P(h)), \
RHASH_ARRAY_SIZE_RAW(h))
#define RHASH_ARRAY_BOUND_RAW(h) \
((long)((RBASIC(h)->flags >> RHASH_ARRAY_BOUND_SHIFT) & \
(RHASH_ARRAY_BOUND_MASK >> RHASH_ARRAY_BOUND_SHIFT)))
((int)((RBASIC(h)->flags >> RHASH_ARRAY_BOUND_SHIFT) & \
(RHASH_ARRAY_BOUND_MASK >> RHASH_ARRAY_BOUND_SHIFT)))
#define RHASH_ARRAY_BOUND(h) (HASH_ASSERT(RHASH_ARRAY_P(h)), \
RHASH_ARRAY_BOUND_RAW(h))
@ -949,11 +946,11 @@ linear_shift(VALUE hash, st_data_t *key, st_data_t *value)
return 0;
}
static int
static long
linear_keys(VALUE hash, st_data_t *keys, st_index_t size)
{
uint8_t i, bound = RHASH_ARRAY_BOUND(hash);
st_data_t *keys_start = keys, *keys_end = keys_end;
st_data_t *keys_start = keys, *keys_end = keys + size;
for (i = 0; i < bound; i++) {
if (keys == keys_end) {
@ -969,7 +966,7 @@ linear_keys(VALUE hash, st_data_t *keys, st_index_t size)
return keys - keys_start;
}
static int
static long
linear_values(VALUE hash, st_data_t *values, st_index_t size)
{
uint8_t i, bound = RHASH_ARRAY_BOUND(hash);

View file

@ -686,7 +686,7 @@ enum ruby_rhash_flags {
#define HASH_PROC_DEFAULT FL_USER2
#define RHASH_ARRAY_SIZE_RAW(h) \
((long)((RBASIC(h)->flags & RHASH_ARRAY_SIZE_MASK) >> RHASH_ARRAY_SIZE_SHIFT))
((int)((RBASIC(h)->flags & RHASH_ARRAY_SIZE_MASK) >> RHASH_ARRAY_SIZE_SHIFT))
int rb_hash_array_p(VALUE hash);
struct li_table *rb_hash_array(VALUE hash);