google-protobuf 4.28.0 → 4.29.1
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: 348adc047870ec167a60d9eb6f1e6a908f7c9e853e14eb219bc20fa074a7061d
|
4
|
+
data.tar.gz: f496b9914e0e71ae82c3ca75efe7111ee8cb68bae54b71b051b28d09dc5ee6b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a3e9a110007df61109ae34af8582b5333aa3b2f069377ff305f2acd8e540aaf50dc8930403eb72c777e4252fa82508559814977f0065cdbc34c099bf6a2e6d2
|
7
|
+
data.tar.gz: 2c1d7253020ee2bb238ef2a5b04fd722cfde1141a24ed41df6ac2906dff2a709eb1637d7053b4b5d22394dd8b03f7e26ff995f16c3573b86dc4b712d4eaee5f5
|
@@ -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;
|