|
@@ -546,11 +546,9 @@ upb_fieldtype_t ruby_to_fieldtype(VALUE type) {
|
|
|
rb_raise(rb_eArgError, "Expected symbol for field type.");
|
|
|
}
|
|
|
|
|
|
- upb_fieldtype_t upb_type = -1;
|
|
|
-
|
|
|
#define CONVERT(upb, ruby) \
|
|
|
if (SYM2ID(type) == rb_intern( # ruby )) { \
|
|
|
- upb_type = UPB_TYPE_ ## upb; \
|
|
|
+ return UPB_TYPE_ ## upb; \
|
|
|
}
|
|
|
|
|
|
CONVERT(FLOAT, float);
|
|
@@ -567,11 +565,8 @@ upb_fieldtype_t ruby_to_fieldtype(VALUE type) {
|
|
|
|
|
|
#undef CONVERT
|
|
|
|
|
|
- if (upb_type == -1) {
|
|
|
- rb_raise(rb_eArgError, "Unknown field type.");
|
|
|
- }
|
|
|
-
|
|
|
- return upb_type;
|
|
|
+ rb_raise(rb_eArgError, "Unknown field type.");
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
VALUE fieldtype_to_ruby(upb_fieldtype_t type) {
|
|
@@ -666,10 +661,12 @@ VALUE FieldDescriptor_label_set(VALUE _self, VALUE label) {
|
|
|
}
|
|
|
|
|
|
upb_label_t upb_label = -1;
|
|
|
+ bool converted = false;
|
|
|
|
|
|
#define CONVERT(upb, ruby) \
|
|
|
if (SYM2ID(label) == rb_intern( # ruby )) { \
|
|
|
upb_label = UPB_LABEL_ ## upb; \
|
|
|
+ converted = true; \
|
|
|
}
|
|
|
|
|
|
CONVERT(OPTIONAL, optional);
|
|
@@ -678,7 +675,7 @@ VALUE FieldDescriptor_label_set(VALUE _self, VALUE label) {
|
|
|
|
|
|
#undef CONVERT
|
|
|
|
|
|
- if (upb_label == -1) {
|
|
|
+ if (!converted) {
|
|
|
rb_raise(rb_eArgError, "Unknown field label.");
|
|
|
}
|
|
|
|