From f91a5563400156bbacc6373a2dea0dcaf182a433 Mon Sep 17 00:00:00 2001 From: naruse Date: Tue, 30 Jun 2015 23:48:21 +0000 Subject: * struct.c (struct_member_pos): avoid implicit conversion loses integer precision: 'long' to 'int'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- struct.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'struct.c') diff --git a/struct.c b/struct.c index b68f2a8a44..17c4643b72 100644 --- a/struct.c +++ b/struct.c @@ -131,7 +131,7 @@ struct_member_pos(VALUE s, VALUE name) { VALUE back = struct_ivar_get(rb_obj_class(s), id_back_members); VALUE const * p; - long j, mask; + int j, mask; if (UNLIKELY(NIL_P(back))) { rb_raise(rb_eTypeError, "uninitialized struct"); @@ -141,12 +141,12 @@ struct_member_pos(VALUE s, VALUE name) } p = RARRAY_CONST_PTR(back); - mask = RARRAY_LEN(back); + mask = RARRAY_LENINT(back); if (mask <= AREF_HASH_THRESHOLD) { if (UNLIKELY(RSTRUCT_LEN(s) != RARRAY_LEN(back))) { rb_raise(rb_eTypeError, - "struct size differs (%ld required %ld given)", + "struct size differs (%d required %ld given)", mask, RSTRUCT_LEN(s)); } for (j = 0; j < mask; j++) { -- cgit v1.2.3