diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-10-13 22:22:18 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-10-13 22:22:18 +0000 |
commit | 7735e63593a4bef31c0c573e793eec5474b4bac1 (patch) | |
tree | 503302a62f2f7ecba446b3fb973ef5c438313d28 /array.c | |
parent | 421076be676005a59f2f47fc0d3da6ecebe85db1 (diff) |
* array.c (rb_ary_and, rb_ary_or), class.c (rb_mod_init_copy),
gc.c (undefine_final), time.c (time_mload): get rid of
type-punning casts.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -3341,7 +3341,8 @@ rb_ary_diff(VALUE ary1, VALUE ary2) static VALUE rb_ary_and(VALUE ary1, VALUE ary2) { - VALUE hash, ary3, v, vv; + VALUE hash, ary3, v; + st_data_t vv; long i; ary2 = to_ary(ary2); @@ -3353,8 +3354,8 @@ rb_ary_and(VALUE ary1, VALUE ary2) return ary3; for (i=0; i<RARRAY_LEN(ary1); i++) { - v = vv = rb_ary_elt(ary1, i); - if (st_delete(RHASH_TBL(hash), (st_data_t*)&vv, 0)) { + vv = (st_data_t)(v = rb_ary_elt(ary1, i)); + if (st_delete(RHASH_TBL(hash), &vv, 0)) { rb_ary_push(ary3, v); } } @@ -3377,8 +3378,8 @@ rb_ary_and(VALUE ary1, VALUE ary2) static VALUE rb_ary_or(VALUE ary1, VALUE ary2) { - VALUE hash, ary3; - VALUE v, vv; + VALUE hash, ary3, v; + st_data_t vv; long i; ary2 = to_ary(ary2); @@ -3386,14 +3387,14 @@ rb_ary_or(VALUE ary1, VALUE ary2) hash = ary_add_hash(ary_make_hash(ary1), ary2); for (i=0; i<RARRAY_LEN(ary1); i++) { - v = vv = rb_ary_elt(ary1, i); - if (st_delete(RHASH_TBL(hash), (st_data_t*)&vv, 0)) { + vv = (st_data_t)(v = rb_ary_elt(ary1, i)); + if (st_delete(RHASH_TBL(hash), &vv, 0)) { rb_ary_push(ary3, v); } } for (i=0; i<RARRAY_LEN(ary2); i++) { - v = vv = rb_ary_elt(ary2, i); - if (st_delete(RHASH_TBL(hash), (st_data_t*)&vv, 0)) { + vv = (st_data_t)(v = rb_ary_elt(ary2, i)); + if (st_delete(RHASH_TBL(hash), &vv, 0)) { rb_ary_push(ary3, v); } } |