diff options
| author | Derick Rethans <github@derickrethans.nl> | 2012-10-04 08:39:21 +0100 |
|---|---|---|
| committer | Derick Rethans <github@derickrethans.nl> | 2012-10-04 08:39:21 +0100 |
| commit | 34eb787828d3ef7a773464ace6db40444dcef9a3 (patch) | |
| tree | cf31114fe2cb673b9042eb6ff1df9954ecf54a31 /ext/soap/php_encoding.c | |
| parent | ab62ffa0a2467d8781aca65bd11dbfc034de7c64 (diff) | |
| parent | 9e3396b85dc5e21fefbe43e161ecf25292da6b8e (diff) | |
| download | php-git-34eb787828d3ef7a773464ace6db40444dcef9a3.tar.gz | |
Merge branch 'PHP-5.4' of git.php.net:/php-src into PHP-5.4
Diffstat (limited to 'ext/soap/php_encoding.c')
| -rw-r--r-- | ext/soap/php_encoding.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 84d603b591..5addec4ff2 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -1818,11 +1818,12 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval * zend_hash_internal_pointer_reset_ex(model->u.content, &pos); while (zend_hash_get_current_data_ex(model->u.content, (void**)&tmp, &pos) == SUCCESS) { - if (!model_to_xml_object(node, *tmp, object, style, (*tmp)->min_occurs > 0 TSRMLS_CC)) { - if ((*tmp)->min_occurs > 0) { + if (!model_to_xml_object(node, *tmp, object, style, strict && ((*tmp)->min_occurs > 0) TSRMLS_CC)) { + if (!strict || (*tmp)->min_occurs > 0) { return 0; } } + strict = 1; zend_hash_move_forward_ex(model->u.content, &pos); } return 1; @@ -1845,7 +1846,7 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval * return ret; } case XSD_CONTENT_GROUP: { - return model_to_xml_object(node, model->u.group->model, object, style, model->min_occurs > 0 TSRMLS_CC); + return model_to_xml_object(node, model->u.group->model, object, style, strict && model->min_occurs > 0 TSRMLS_CC); } default: break; |
