Bläddra i källkod

Fix array constructor in c extension for compatibility (#4667)

In old generated code, the constructor of message doesn't provide a
default null to parent's constructor. Previously, in c extesnion, this
case was not handled.
Paul Yang 7 år sedan
förälder
incheckning
00d32539c6
1 ändrade filer med 3 tillägg och 3 borttagningar
  1. 3 3
      php/ext/google/protobuf/message.c

+ 3 - 3
php/ext/google/protobuf/message.c

@@ -387,9 +387,9 @@ void Message_construct(zval* msg, zval* array_wrapper) {
 // object. Here, we manually modify it to our message in such a case.
 PHP_METHOD(Message, __construct) {
   // Init message with array
-  zval* array_wrapper;
-  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a!", &array_wrapper,
-                            message_type) == FAILURE) {
+  zval* array_wrapper = NULL;
+  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
+                            "|a!", &array_wrapper) == FAILURE) {
     return;
   }