From 76edca191e112fc18fa6bc69cf472bc195a15843 Mon Sep 17 00:00:00 2001 From: Qamal Kosim-Satyaputra Date: Mon, 16 Aug 2021 17:24:56 +1000 Subject: [PATCH] PLC-0 Add emit defaults to serializeToJsonString --- php/ext/google/protobuf/message.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/php/ext/google/protobuf/message.c b/php/ext/google/protobuf/message.c index 0c90705eaf51b..5cfe2baaa2643 100644 --- a/php/ext/google/protobuf/message.c +++ b/php/ext/google/protobuf/message.c @@ -810,10 +810,11 @@ PHP_METHOD(Message, serializeToJsonString) { int options = 0; char buf[1024]; zend_bool preserve_proto_fieldnames = false; + zend_bool emit_defaults = false; upb_Status status; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "|b", - &preserve_proto_fieldnames) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|bb", + &preserve_proto_fieldnames, &emit_defaults) == FAILURE) { return; } @@ -821,6 +822,10 @@ PHP_METHOD(Message, serializeToJsonString) { options |= upb_JsonEncode_UseProtoNames; } + if (emit_defaults) { + options |= upb_JsonEncode_EmitDefaults; + } + upb_Status_Clear(&status); size = upb_JsonEncode(intern->msg, intern->desc->msgdef, DescriptorPool_GetSymbolTable(), options, buf,