summaryrefslogtreecommitdiff
path: root/ext/soap/php_encoding.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2007-06-14 07:09:31 +0000
committerDmitry Stogov <dmitry@php.net>2007-06-14 07:09:31 +0000
commit3b27cd22b62a126a13d1904ac744d677529f04d7 (patch)
treecf228fc589e0477da4ce3592496c902a9a81b7de /ext/soap/php_encoding.c
parented39fac5d28c11be0f4818fba4db6b31b713eb4f (diff)
downloadphp-git-3b27cd22b62a126a13d1904ac744d677529f04d7.tar.gz
Fixed bug #41566 (SOAP Server not properly generating href attributes)
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r--ext/soap/php_encoding.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index 6a2c71d583..14b05e0210 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -297,6 +297,10 @@ static zend_bool soap_check_zval_ref(zval *data, xmlNodePtr node TSRMLS_DC) {
}
if (attr) {
id = (char*)attr->children->content;
+ smart_str_appendc(&prefix, '#');
+ smart_str_appends(&prefix, id);
+ smart_str_0(&prefix);
+ id = prefix.c;
} else {
SOAP_GLOBAL(cur_uniq_ref)++;
smart_str_appendl(&prefix, "#ref", 4);
@@ -310,6 +314,10 @@ static zend_bool soap_check_zval_ref(zval *data, xmlNodePtr node TSRMLS_DC) {
attr = get_attribute_ex(attr, "id", SOAP_1_2_ENC_NAMESPACE);
if (attr) {
id = (char*)attr->children->content;
+ smart_str_appendc(&prefix, '#');
+ smart_str_appends(&prefix, id);
+ smart_str_0(&prefix);
+ id = prefix.c;
} else {
SOAP_GLOBAL(cur_uniq_ref)++;
smart_str_appendl(&prefix, "#ref", 4);