|
@@ -1106,6 +1106,13 @@ static void putmsg(VALUE msg_rb, const Descriptor* desc,
|
|
|
|
|
|
TypedData_Get_Struct(msg_rb, MessageHeader, &Message_type, msg);
|
|
TypedData_Get_Struct(msg_rb, MessageHeader, &Message_type, msg);
|
|
|
|
|
|
|
|
+ if (desc != msg->descriptor) {
|
|
|
|
+ rb_raise(rb_eArgError,
|
|
|
|
+ "The type of given msg is '%s', expect '%s'.",
|
|
|
|
+ upb_msgdef_fullname(msg->descriptor->msgdef),
|
|
|
|
+ upb_msgdef_fullname(desc->msgdef));
|
|
|
|
+ }
|
|
|
|
+
|
|
for (upb_msg_field_begin(&i, desc->msgdef);
|
|
for (upb_msg_field_begin(&i, desc->msgdef);
|
|
!upb_msg_field_done(&i);
|
|
!upb_msg_field_done(&i);
|
|
upb_msg_field_next(&i)) {
|
|
upb_msg_field_next(&i)) {
|