aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Yang <TeBoring@users.noreply.github.com>2017-11-13 09:31:28 -0800
committerGitHub <noreply@github.com>2017-11-13 09:31:28 -0800
commit188f18044feb1ca82ecc922f3e59e37078473ddf (patch)
treed47aff9f88bc90df1a88823a291487f90e472d5f
parentfe2b4af3d1b421bd2354dbe59fab942c01ab2067 (diff)
downloadprotobuf-188f18044feb1ca82ecc922f3e59e37078473ddf.tar.gz
protobuf-188f18044feb1ca82ecc922f3e59e37078473ddf.tar.bz2
protobuf-188f18044feb1ca82ecc922f3e59e37078473ddf.zip
All integer types should accept null in json. (#3869)
-rw-r--r--conformance/conformance_test.cc16
-rw-r--r--php/src/Google/Protobuf/Internal/Message.php11
2 files changed, 22 insertions, 5 deletions
diff --git a/conformance/conformance_test.cc b/conformance/conformance_test.cc
index c54d4ccd..98c2eae4 100644
--- a/conformance/conformance_test.cc
+++ b/conformance/conformance_test.cc
@@ -1842,6 +1842,14 @@ bool ConformanceTestSuite::RunSuite(ConformanceTestRunner* runner,
"optionalInt64": null,
"optionalUint32": null,
"optionalUint64": null,
+ "optionalSint32": null,
+ "optionalSint64": null,
+ "optionalFixed32": null,
+ "optionalFixed64": null,
+ "optionalSfixed32": null,
+ "optionalSfixed64": null,
+ "optionalFloat": null,
+ "optionalDouble": null,
"optionalBool": null,
"optionalString": null,
"optionalBytes": null,
@@ -1851,6 +1859,14 @@ bool ConformanceTestSuite::RunSuite(ConformanceTestRunner* runner,
"repeatedInt64": null,
"repeatedUint32": null,
"repeatedUint64": null,
+ "repeatedSint32": null,
+ "repeatedSint64": null,
+ "repeatedFixed32": null,
+ "repeatedFixed64": null,
+ "repeatedSfixed32": null,
+ "repeatedSfixed64": null,
+ "repeatedFloat": null,
+ "repeatedDouble": null,
"repeatedBool": null,
"repeatedString": null,
"repeatedBytes": null,
diff --git a/php/src/Google/Protobuf/Internal/Message.php b/php/src/Google/Protobuf/Internal/Message.php
index 9785be30..a7a4f272 100644
--- a/php/src/Google/Protobuf/Internal/Message.php
+++ b/php/src/Google/Protobuf/Internal/Message.php
@@ -833,6 +833,8 @@ class Message
}
return $value;
case GPBType::INT32:
+ case GPBType::SINT32:
+ case GPBType::SFIXED32:
if (is_null($value)) {
return $this->defaultValue($field);
}
@@ -850,6 +852,7 @@ class Message
}
return $value;
case GPBType::UINT32:
+ case GPBType::FIXED32:
if (is_null($value)) {
return $this->defaultValue($field);
}
@@ -863,6 +866,8 @@ class Message
}
return $value;
case GPBType::INT64:
+ case GPBType::SINT64:
+ case GPBType::SFIXED64:
if (is_null($value)) {
return $this->defaultValue($field);
}
@@ -880,6 +885,7 @@ class Message
}
return $value;
case GPBType::UINT64:
+ case GPBType::FIXED64:
if (is_null($value)) {
return $this->defaultValue($field);
}
@@ -895,11 +901,6 @@ class Message
$value = bcsub($value, "18446744073709551616");
}
return $value;
- case GPBType::FIXED64:
- if (is_null($value)) {
- return $this->defaultValue($field);
- }
- return $value;
default:
return $value;
}