summaryrefslogtreecommitdiff
path: root/ext/soap/php_encoding.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2004-02-17 08:18:53 +0000
committerDmitry Stogov <dmitry@php.net>2004-02-17 08:18:53 +0000
commit168dc362dfcb1141cb9c364c96999cee65d66306 (patch)
tree882a4f797b22997ce8284bfaa0017aaa2044a1d1 /ext/soap/php_encoding.c
parentf7ca7c469ae746327596475b6e47aae40d60e2b5 (diff)
downloadphp-git-168dc362dfcb1141cb9c364c96999cee65d66306.tar.gz
Encoding of ommited tail parameters as NULLs
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r--ext/soap/php_encoding.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index 024a19c32e..69bf69a4b1 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -1071,6 +1071,15 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo
sdlTypePtr sdlType = type->sdl_type;
TSRMLS_FETCH();
+ if (!data || Z_TYPE_P(data) == IS_NULL) {
+ xmlParam = xmlNewNode(NULL,"BOGUS");
+ xmlAddChild(parent, xmlParam);
+ if (style == SOAP_ENCODED) {
+ xmlSetProp(xmlParam, "xsi:nil", "1");
+ }
+ return xmlParam;
+ }
+
if (sdlType) {
prop = NULL;
if (Z_TYPE_P(data) == IS_OBJECT) {