Skip to content

Commit c446e57

Browse files
committed
ext/soap support for phpng (incomplete - just compilable)
1 parent 3ae86b9 commit c446e57

13 files changed

+2461
-2671
lines changed

Zend/zend_API.c

+14
Original file line numberDiff line numberDiff line change
@@ -1757,6 +1757,20 @@ ZEND_API int add_property_double_ex(zval *arg, const char *key, uint key_len, do
17571757
}
17581758
/* }}} */
17591759

1760+
ZEND_API int add_property_str_ex(zval *arg, const char *key, uint key_len, zend_string *str TSRMLS_DC) /* {{{ */
1761+
{
1762+
zval tmp;
1763+
zval z_key;
1764+
1765+
ZVAL_STR(&tmp, str);
1766+
ZVAL_STRINGL(&z_key, key, key_len);
1767+
Z_OBJ_HANDLER_P(arg, write_property)(arg, &z_key, &tmp, -1 TSRMLS_CC);
1768+
//??? zval_ptr_dtor(&tmp); /* write_property will add 1 to refcount */
1769+
zval_ptr_dtor(&z_key);
1770+
return SUCCESS;
1771+
}
1772+
/* }}} */
1773+
17601774
ZEND_API int add_property_string_ex(zval *arg, const char *key, uint key_len, const char *str TSRMLS_DC) /* {{{ */
17611775
{
17621776
zval tmp;

Zend/zend_API.h

+2
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,7 @@ ZEND_API int add_property_null_ex(zval *arg, const char *key, uint key_len TSRML
440440
ZEND_API int add_property_bool_ex(zval *arg, const char *key, uint key_len, int b TSRMLS_DC);
441441
ZEND_API int add_property_resource_ex(zval *arg, const char *key, uint key_len, zend_resource *r TSRMLS_DC);
442442
ZEND_API int add_property_double_ex(zval *arg, const char *key, uint key_len, double d TSRMLS_DC);
443+
ZEND_API int add_property_str_ex(zval *arg, const char *key, uint key_len, zend_string *str TSRMLS_DC);
443444
ZEND_API int add_property_string_ex(zval *arg, const char *key, uint key_len, const char *str TSRMLS_DC);
444445
ZEND_API int add_property_stringl_ex(zval *arg, const char *key, uint key_len, const char *str, uint length TSRMLS_DC);
445446
ZEND_API int add_property_zval_ex(zval *arg, const char *key, uint key_len, zval *value TSRMLS_DC);
@@ -449,6 +450,7 @@ ZEND_API int add_property_zval_ex(zval *arg, const char *key, uint key_len, zval
449450
#define add_property_bool(__arg, __key, __b) add_property_bool_ex(__arg, __key, strlen(__key), __b TSRMLS_CC)
450451
#define add_property_resource(__arg, __key, __r) add_property_resource_ex(__arg, __key, strlen(__key), __r TSRMLS_CC)
451452
#define add_property_double(__arg, __key, __d) add_property_double_ex(__arg, __key, strlen(__key), __d TSRMLS_CC)
453+
#define add_property_str(__arg, __key, __str) add_property_str_ex(__arg, __key, strlen(__key), __str TSRMLS_CC)
452454
#define add_property_string(__arg, __key, __str) add_property_string_ex(__arg, __key, strlen(__key), __str TSRMLS_CC)
453455
#define add_property_stringl(__arg, __key, __str, __length) add_property_stringl_ex(__arg, __key, strlen(__key), __str, __length TSRMLS_CC)
454456
#define add_property_zval(__arg, __key, __value) add_property_zval_ex(__arg, __key, strlen(__key), __value TSRMLS_CC)

0 commit comments

Comments
 (0)