google-protobuf 4.28.0 → 4.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/google/protobuf_c/defs.c +1 -2
- data/ext/google/protobuf_c/message.c +15 -5
- data/ext/google/protobuf_c/protobuf.c +0 -2
- data/ext/google/protobuf_c/ruby-upb.c +6705 -6668
- data/ext/google/protobuf_c/ruby-upb.h +3277 -3189
- data/lib/google/protobuf/descriptor_pb.rb +1 -1
- data/lib/google/protobuf/ffi/ffi.rb +5 -0
- data/lib/google/protobuf/ffi/message.rb +6 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84554f042e358709df53e774b914ec550ee2a34ebd4f54655a95cb354328690c
|
4
|
+
data.tar.gz: 533fc36a990eccea7ba8d50eee58c92c89ebfdd3c15343a05b0fd15066391712
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd855f18f3a68cfa35f4482f8492ba089e579589e09056d22e4d577dc3ebbcef8ede9e61eafc2ba6fdfa2eb344ed6daa1e7ff95b05b3349fd87d375638c982c1
|
7
|
+
data.tar.gz: 984bce8c9d6e74aa1302143ef8fcb5a28331f6a4531bc8c0659019ccec7e876a6b9f8f2b871338cb2b6391cf0a34a7748096c27e95afabdbc9bb1a30e63bcff5
|
@@ -7,7 +7,6 @@
|
|
7
7
|
|
8
8
|
#include <ctype.h>
|
9
9
|
#include <errno.h>
|
10
|
-
#include <ruby/version.h>
|
11
10
|
|
12
11
|
#include "convert.h"
|
13
12
|
#include "message.h"
|
@@ -726,7 +725,7 @@ static VALUE FieldDescriptor__type(VALUE _self) {
|
|
726
725
|
static VALUE FieldDescriptor_default(VALUE _self) {
|
727
726
|
FieldDescriptor* self = ruby_to_FieldDescriptor(_self);
|
728
727
|
const upb_FieldDef* f = self->fielddef;
|
729
|
-
upb_MessageValue default_val =
|
728
|
+
upb_MessageValue default_val = upb_MessageValue_Zero();
|
730
729
|
if (upb_FieldDef_IsSubMessage(f)) {
|
731
730
|
return Qnil;
|
732
731
|
} else if (!upb_FieldDef_IsRepeated(f)) {
|
@@ -1038,11 +1038,21 @@ static VALUE Message_decode_json(int argc, VALUE* argv, VALUE klass) {
|
|
1038
1038
|
|
1039
1039
|
upb_Status_Clear(&status);
|
1040
1040
|
const upb_DefPool* pool = upb_FileDef_Pool(upb_MessageDef_File(msg->msgdef));
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1041
|
+
|
1042
|
+
int result = upb_JsonDecodeDetectingNonconformance(
|
1043
|
+
RSTRING_PTR(data), RSTRING_LEN(data), (upb_Message*)msg->msg,
|
1044
|
+
msg->msgdef, pool, options, Arena_get(msg->arena), &status);
|
1045
|
+
|
1046
|
+
switch (result) {
|
1047
|
+
case kUpb_JsonDecodeResult_Ok:
|
1048
|
+
break;
|
1049
|
+
case kUpb_JsonDecodeResult_OkWithEmptyStringNumerics:
|
1050
|
+
rb_warn("%s", upb_Status_ErrorMessage(&status));
|
1051
|
+
break;
|
1052
|
+
case kUpb_JsonDecodeResult_Error:
|
1053
|
+
rb_raise(cParseError, "Error occurred during parsing: %s",
|
1054
|
+
upb_Status_ErrorMessage(&status));
|
1055
|
+
break;
|
1046
1056
|
}
|
1047
1057
|
|
1048
1058
|
return msg_rb;
|