Skip to content

Commit

Permalink
Move derefs into accessor macros
Browse files Browse the repository at this point in the history
These derefs are mostly there to be defensive, but clutter the
code somewhat. Move them directly into the access macros.
  • Loading branch information
nikic committed Aug 20, 2021
1 parent a893a49 commit 50484b5
Show file tree
Hide file tree
Showing 6 changed files with 83 additions and 161 deletions.
14 changes: 1 addition & 13 deletions ext/soap/php_encoding.c
Original file line number Diff line number Diff line change
Expand Up @@ -383,16 +383,13 @@ static xmlNodePtr master_to_xml_int(encodePtr encode, zval *data, int style, xml
encodePtr enc = NULL;

zval *ztype = Z_VAR_ENC_TYPE_P(data);
ZVAL_DEREF(ztype);
if (Z_TYPE_P(ztype) != IS_LONG) {
soap_error0(E_ERROR, "Encoding: SoapVar has no 'enc_type' property");
}

zval *zstype = Z_VAR_ENC_STYPE_P(data);
ZVAL_DEREF(zstype);
if (Z_TYPE_P(zstype) == IS_STRING) {
zval *zns = Z_VAR_ENC_NS_P(data);
ZVAL_DEREF(zns);
if (Z_TYPE_P(zns) == IS_STRING) {
enc = get_encoder(SOAP_GLOBAL(sdl), Z_STRVAL_P(zns), Z_STRVAL_P(zstype));
} else {
Expand All @@ -419,16 +416,12 @@ static xmlNodePtr master_to_xml_int(encodePtr encode, zval *data, int style, xml
enc = encode;
}

zval *zdata = Z_VAR_ENC_VALUE_P(data);
ZVAL_DEREF(zdata);
node = master_to_xml(enc, zdata, style, parent);
node = master_to_xml(enc, Z_VAR_ENC_VALUE_P(data), style, parent);

if (style == SOAP_ENCODED || (SOAP_GLOBAL(sdl) && encode != enc)) {
zval *zstype = Z_VAR_ENC_STYPE_P(data);
ZVAL_DEREF(zstype);
if (Z_TYPE_P(zstype) == IS_STRING) {
zval *zns = Z_VAR_ENC_NS_P(data);
ZVAL_DEREF(zns);
if (Z_TYPE_P(zns) == IS_STRING) {
set_ns_and_type_ex(node, Z_STRVAL_P(zns), Z_STRVAL_P(zstype));
} else {
Expand All @@ -438,13 +431,11 @@ static xmlNodePtr master_to_xml_int(encodePtr encode, zval *data, int style, xml
}

zval *zname = Z_VAR_ENC_NAME_P(data);
ZVAL_DEREF(zname);
if (Z_TYPE_P(zname) == IS_STRING) {
xmlNodeSetName(node, BAD_CAST(Z_STRVAL_P(zname)));
}

zval *znamens = Z_VAR_ENC_NAMENS_P(data);
ZVAL_DEREF(znamens);
if (Z_TYPE_P(znamens) == IS_STRING) {
xmlNsPtr nsp = encode_add_ns(node, Z_STRVAL_P(znamens));
xmlSetNs(node, nsp);
Expand Down Expand Up @@ -3499,22 +3490,19 @@ static encodePtr get_array_type(xmlNodePtr node, zval *array, smart_str *type)
if (Z_TYPE_P(tmp) == IS_OBJECT &&
Z_OBJCE_P(tmp) == soap_var_class_entry) {
zval *ztype = Z_VAR_ENC_TYPE_P(tmp);
ZVAL_DEREF(ztype);
if (Z_TYPE_P(ztype) != IS_LONG) {
soap_error0(E_ERROR, "Encoding: SoapVar has no 'enc_type' property");
}
cur_type = Z_LVAL_P(ztype);

zval *zstype = Z_VAR_ENC_STYPE_P(tmp);
ZVAL_DEREF(zstype);
if (Z_TYPE_P(zstype) == IS_STRING) {
cur_stype = Z_STRVAL_P(zstype);
} else {
cur_stype = NULL;
}

zval *zns = Z_VAR_ENC_NS_P(tmp);
ZVAL_DEREF(zns);
if (Z_TYPE_P(zns) == IS_STRING) {
cur_ns = Z_STRVAL_P(zns);
} else {
Expand Down
12 changes: 6 additions & 6 deletions ext/soap/php_encoding.h
Original file line number Diff line number Diff line change
Expand Up @@ -170,12 +170,12 @@
#define UNKNOWN_TYPE 999998
#define END_KNOWN_TYPES 999999

#define Z_VAR_ENC_TYPE_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 0)
#define Z_VAR_ENC_VALUE_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 1)
#define Z_VAR_ENC_STYPE_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 2)
#define Z_VAR_ENC_NS_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 3)
#define Z_VAR_ENC_NAME_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 4)
#define Z_VAR_ENC_NAMENS_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 5)
#define Z_VAR_ENC_TYPE_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 0))
#define Z_VAR_ENC_VALUE_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 1))
#define Z_VAR_ENC_STYPE_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 2))
#define Z_VAR_ENC_NS_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 3))
#define Z_VAR_ENC_NAME_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 4))
#define Z_VAR_ENC_NAMENS_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 5))

struct _encodeType {
int type;
Expand Down
37 changes: 4 additions & 33 deletions ext/soap/php_http.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,12 @@ static zend_string *get_http_headers(php_stream *socketd);
int proxy_authentication(zval* this_ptr, smart_str* soap_headers)
{
zval *login = Z_CLIENT_PROXY_LOGIN_P(this_ptr);
ZVAL_DEREF(login);
if (Z_TYPE_P(login) == IS_STRING) {
smart_str auth = {0};
smart_str_append(&auth, Z_STR_P(login));
smart_str_appendc(&auth, ':');

zval *password = Z_CLIENT_PROXY_PASSWORD_P(this_ptr);
ZVAL_DEREF(password);
if (Z_TYPE_P(password) == IS_STRING) {
smart_str_append(&auth, Z_STR_P(password));
}
Expand All @@ -61,16 +59,12 @@ int basic_authentication(zval* this_ptr, smart_str* soap_headers)
{
zval *login = Z_CLIENT_LOGIN_P(this_ptr);
zval *use_digest = Z_CLIENT_USE_DIGEST_P(this_ptr);
ZVAL_DEREF(login);
ZVAL_DEREF(use_digest);

if (Z_TYPE_P(login) == IS_STRING && Z_TYPE_P(use_digest) != IS_TRUE) {
smart_str auth = {0};
smart_str_append(&auth, Z_STR_P(login));
smart_str_appendc(&auth, ':');

zval *password = Z_CLIENT_PASSWORD_P(this_ptr);
ZVAL_DEREF(password);
if (Z_TYPE_P(password) == IS_STRING) {
smart_str_append(&auth, Z_STR_P(password));
}
Expand Down Expand Up @@ -171,8 +165,6 @@ static php_stream* http_connect(zval* this_ptr, php_url *phpurl, int use_ssl, ph

zval *proxy_host = Z_CLIENT_PROXY_HOST_P(this_ptr);
zval *proxy_port = Z_CLIENT_PROXY_PORT_P(this_ptr);
ZVAL_DEREF(proxy_host);
ZVAL_DEREF(proxy_port);
if (Z_TYPE_P(proxy_host) == IS_STRING && Z_TYPE_P(proxy_port) == IS_LONG) {
host = Z_STRVAL_P(proxy_host);
port = Z_LVAL_P(proxy_port);
Expand All @@ -183,7 +175,6 @@ static php_stream* http_connect(zval* this_ptr, php_url *phpurl, int use_ssl, ph
}

tmp = Z_CLIENT_CONNECTION_TIMEOUT_P(this_ptr);
ZVAL_DEREF(tmp);
if (Z_TYPE_P(tmp) == IS_LONG && Z_LVAL_P(tmp) > 0) {
tv.tv_sec = Z_LVAL_P(tmp);
tv.tv_usec = 0;
Expand All @@ -196,7 +187,6 @@ static php_stream* http_connect(zval* this_ptr, php_url *phpurl, int use_ssl, ph
/* Changed ternary operator to an if/else so that additional comparisons can be done on the ssl_method property */
if (use_ssl && !*use_proxy) {
tmp = Z_CLIENT_SSL_METHOD_P(this_ptr);
ZVAL_DEREF(tmp);
if (Z_TYPE_P(tmp) == IS_LONG) {
/* uses constants declared in soap.c to determine ssl uri protocol */
switch (Z_LVAL_P(tmp)) {
Expand Down Expand Up @@ -285,7 +275,6 @@ static php_stream* http_connect(zval* this_ptr, php_url *phpurl, int use_ssl, ph
proper encrypyion method based on constants defined in soap.c */
int crypto_method = STREAM_CRYPTO_METHOD_SSLv23_CLIENT;
tmp = Z_CLIENT_SSL_METHOD_P(this_ptr);
ZVAL_DEREF(tmp);
if (Z_TYPE_P(tmp) == IS_LONG) {
switch (Z_LVAL_P(tmp)) {
case SOAP_SSL_METHOD_TLS:
Expand Down Expand Up @@ -349,7 +338,7 @@ int make_http_soap_request(zval *this_ptr,
size_t err;
php_url *phpurl = NULL;
php_stream *stream;
zval *trace, *tmp;
zval *tmp;
int use_proxy = 0;
int use_ssl;
zend_string *http_body;
Expand Down Expand Up @@ -377,7 +366,6 @@ int make_http_soap_request(zval *this_ptr,
request = buf;
/* Compress request */
tmp = Z_CLIENT_COMPRESSION_P(this_ptr);
ZVAL_DEREF(tmp);
if (Z_TYPE_P(tmp) == IS_LONG) {
int level = Z_LVAL_P(tmp) & 0x0f;
int kind = Z_LVAL_P(tmp) & SOAP_COMPRESSION_DEFLATE;
Expand Down Expand Up @@ -426,7 +414,6 @@ int make_http_soap_request(zval *this_ptr,
if (Z_TYPE_P(tmp) == IS_RESOURCE) {
php_stream_from_zval_no_verify(stream,tmp);
tmp = Z_CLIENT_USE_PROXY_P(this_ptr);
ZVAL_DEREF(tmp);
if (Z_TYPE_P(tmp) == IS_LONG) {
use_proxy = Z_LVAL_P(tmp);
}
Expand Down Expand Up @@ -591,17 +578,14 @@ int make_http_soap_request(zval *this_ptr,
smart_str_appendc(&soap_headers, ':');
smart_str_append_unsigned(&soap_headers, phpurl->port);
}
tmp = Z_CLIENT_KEEP_ALIVE_P(this_ptr);
ZVAL_DEREF(tmp);
if (!http_1_1 || Z_TYPE_P(tmp) == IS_FALSE) {
if (!http_1_1 || Z_TYPE_P(Z_CLIENT_KEEP_ALIVE_P(this_ptr)) == IS_FALSE) {
smart_str_append_const(&soap_headers, "\r\n"
"Connection: close\r\n");
} else {
smart_str_append_const(&soap_headers, "\r\n"
"Connection: Keep-Alive\r\n");
}
tmp = Z_CLIENT_USER_AGENT_P(this_ptr);
ZVAL_DEREF(tmp);
if (Z_TYPE_P(tmp) == IS_STRING) {
if (Z_STRLEN_P(tmp) > 0) {
smart_str_append_const(&soap_headers, "User-Agent: ");
Expand Down Expand Up @@ -667,10 +651,8 @@ int make_http_soap_request(zval *this_ptr,

/* HTTP Authentication */
login = Z_CLIENT_LOGIN_P(this_ptr);
ZVAL_DEREF(login);
if (Z_TYPE_P(login) == IS_STRING) {
zval *digest = Z_CLIENT_DIGEST_P(this_ptr);
ZVAL_DEREF(digest);

has_authorization = 1;
if (Z_TYPE_P(digest) == IS_ARRAY) {
Expand Down Expand Up @@ -706,7 +688,6 @@ int make_http_soap_request(zval *this_ptr,
}
PHP_MD5Update(&md5ctx, (unsigned char*)":", 1);
password = Z_CLIENT_PASSWORD_P(this_ptr);
ZVAL_DEREF(password);
if (Z_TYPE_P(password) == IS_STRING) {
PHP_MD5Update(&md5ctx, (unsigned char*)Z_STRVAL_P(password), Z_STRLEN_P(password));
}
Expand Down Expand Up @@ -821,7 +802,6 @@ int make_http_soap_request(zval *this_ptr,
smart_str_append(&auth, Z_STR_P(login));
smart_str_appendc(&auth, ':');
password = Z_CLIENT_PASSWORD_P(this_ptr);
ZVAL_DEREF(password);
if (Z_TYPE_P(password) == IS_STRING) {
smart_str_append(&auth, Z_STR_P(password));
}
Expand All @@ -842,7 +822,6 @@ int make_http_soap_request(zval *this_ptr,

/* Send cookies along with request */
cookies = Z_CLIENT_COOKIES_P(this_ptr);
ZVAL_DEREF(cookies);
if (Z_TYPE_P(cookies) == IS_ARRAY) {
zval *data;
zend_string *key;
Expand Down Expand Up @@ -880,9 +859,7 @@ int make_http_soap_request(zval *this_ptr,

smart_str_append_const(&soap_headers, "\r\n");
smart_str_0(&soap_headers);
trace = Z_CLIENT_TRACE_P(this_ptr);
ZVAL_DEREF(trace);
if (Z_TYPE_P(trace) == IS_TRUE) {
if (Z_TYPE_P(Z_CLIENT_TRACE_P(this_ptr)) == IS_TRUE) {
zval_ptr_dtor(Z_CLIENT_LAST_REQUEST_HEADERS_P(this_ptr));
ZVAL_STR_COPY(Z_CLIENT_LAST_REQUEST_HEADERS_P(this_ptr), soap_headers.s);
}
Expand Down Expand Up @@ -931,9 +908,7 @@ int make_http_soap_request(zval *this_ptr,
return FALSE;
}

trace = Z_CLIENT_TRACE_P(this_ptr);
ZVAL_DEREF(trace);
if (Z_TYPE_P(trace) == IS_TRUE) {
if (Z_TYPE_P(Z_CLIENT_TRACE_P(this_ptr)) == IS_TRUE) {
zval_ptr_dtor(Z_CLIENT_LAST_RESPONSE_HEADERS_P(this_ptr));
ZVAL_STR_COPY(Z_CLIENT_LAST_RESPONSE_HEADERS_P(this_ptr), http_headers);
}
Expand Down Expand Up @@ -983,7 +958,6 @@ int make_http_soap_request(zval *this_ptr,
char *cookie;
char *eqpos, *sempos;
zval *cookies = Z_CLIENT_COOKIES_P(this_ptr);
ZVAL_DEREF(cookies);
if (Z_TYPE_P(cookies) != IS_ARRAY) {
array_init(cookies);
}
Expand Down Expand Up @@ -1176,9 +1150,6 @@ int make_http_soap_request(zval *this_ptr,
zval *login = Z_CLIENT_LOGIN_P(this_ptr);
zval *password = Z_CLIENT_PASSWORD_P(this_ptr);
char *auth = get_http_header_value(ZSTR_VAL(http_headers), "WWW-Authenticate: ");
ZVAL_DEREF(digest);
ZVAL_DEREF(login);
ZVAL_DEREF(password);
if (auth && strstr(auth, "Digest") == auth && Z_TYPE_P(digest) != IS_ARRAY
&& Z_TYPE_P(login) == IS_STRING && Z_TYPE_P(password) == IS_STRING) {
char *s;
Expand Down
3 changes: 0 additions & 3 deletions ext/soap/php_sdl.c
Original file line number Diff line number Diff line change
Expand Up @@ -3244,7 +3244,6 @@ sdlPtr get_sdl(zval *this_ptr, char *uri, zend_long cache_wsdl)
}

tmp = Z_CLIENT_USER_AGENT_P(this_ptr);
ZVAL_DEREF(tmp);
if (Z_TYPE_P(tmp) == IS_STRING && Z_STRLEN_P(tmp) > 0) {
smart_str_appends(&headers, "User-Agent: ");
smart_str_appends(&headers, Z_STRVAL_P(tmp));
Expand All @@ -3253,8 +3252,6 @@ sdlPtr get_sdl(zval *this_ptr, char *uri, zend_long cache_wsdl)

zval *proxy_host = Z_CLIENT_PROXY_HOST_P(this_ptr);
zval *proxy_port = Z_CLIENT_PROXY_PORT_P(this_ptr);
ZVAL_DEREF(proxy_host);
ZVAL_DEREF(proxy_port);
if (Z_TYPE_P(proxy_host) == IS_STRING && Z_TYPE_P(proxy_port) == IS_LONG) {
zval str_proxy;
smart_str proxy = {0};
Expand Down
79 changes: 43 additions & 36 deletions ext/soap/php_soap.h
Original file line number Diff line number Diff line change
Expand Up @@ -209,41 +209,48 @@ void add_soap_fault(zval *obj, char *fault_code, char *fault_string, char *fault
#define soap_error3(severity, format, param1, param2, param3) \
php_error(severity, "SOAP-ERROR: " format, param1, param2, param3)

#define Z_CLIENT_URI_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 0)
#define Z_CLIENT_STYLE_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 1)
#define Z_CLIENT_USE_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 2)
#define Z_CLIENT_LOCATION_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 3)
#define Z_CLIENT_TRACE_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 4)
#define Z_CLIENT_COMPRESSION_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 5)
#define Z_CLIENT_SDL_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 6)
#define Z_CLIENT_TYPEMAP_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 7)
#define Z_CLIENT_HTTPSOCKET_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 8)
#define Z_CLIENT_HTTPURL_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 9)
#define Z_CLIENT_LOGIN_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 10)
#define Z_CLIENT_PASSWORD_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 11)
#define Z_CLIENT_USE_DIGEST_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 12)
#define Z_CLIENT_DIGEST_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 13)
#define Z_CLIENT_PROXY_HOST_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 14)
#define Z_CLIENT_PROXY_PORT_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 15)
#define Z_CLIENT_PROXY_LOGIN_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 16)
#define Z_CLIENT_PROXY_PASSWORD_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 17)
#define Z_CLIENT_EXCEPTIONS_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 18)
#define Z_CLIENT_ENCODING_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 19)
#define Z_CLIENT_CLASSMAP_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 20)
#define Z_CLIENT_FEATURES_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 21)
#define Z_CLIENT_CONNECTION_TIMEOUT_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 22)
#define Z_CLIENT_STREAM_CONTEXT_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 23)
#define Z_CLIENT_USER_AGENT_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 24)
#define Z_CLIENT_KEEP_ALIVE_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 25)
#define Z_CLIENT_SSL_METHOD_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 26)
#define Z_CLIENT_SOAP_VERSION_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 27)
#define Z_CLIENT_USE_PROXY_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 28)
#define Z_CLIENT_COOKIES_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 29)
#define Z_CLIENT_DEFAULT_HEADERS_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 30)
#define Z_CLIENT_SOAP_FAULT_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 31)
#define Z_CLIENT_LAST_REQUEST_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 32)
#define Z_CLIENT_LAST_RESPONSE_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 33)
#define Z_CLIENT_LAST_REQUEST_HEADERS_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 34)
#define Z_CLIENT_LAST_RESPONSE_HEADERS_P(zv) OBJ_PROP_NUM(Z_OBJ_P(zv), 35)
static zend_always_inline zval *php_soap_deref(zval *zv) {
if (UNEXPECTED(Z_TYPE_P(zv) == IS_REFERENCE)) {
return Z_REFVAL_P(zv);
}
return zv;
}

#define Z_CLIENT_URI_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 0))
#define Z_CLIENT_STYLE_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 1))
#define Z_CLIENT_USE_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 2))
#define Z_CLIENT_LOCATION_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 3))
#define Z_CLIENT_TRACE_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 4))
#define Z_CLIENT_COMPRESSION_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 5))
#define Z_CLIENT_SDL_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 6))
#define Z_CLIENT_TYPEMAP_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 7))
#define Z_CLIENT_HTTPSOCKET_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 8))
#define Z_CLIENT_HTTPURL_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 9))
#define Z_CLIENT_LOGIN_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 10))
#define Z_CLIENT_PASSWORD_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 11))
#define Z_CLIENT_USE_DIGEST_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 12))
#define Z_CLIENT_DIGEST_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 13))
#define Z_CLIENT_PROXY_HOST_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 14))
#define Z_CLIENT_PROXY_PORT_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 15))
#define Z_CLIENT_PROXY_LOGIN_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 16))
#define Z_CLIENT_PROXY_PASSWORD_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 17))
#define Z_CLIENT_EXCEPTIONS_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 18))
#define Z_CLIENT_ENCODING_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 19))
#define Z_CLIENT_CLASSMAP_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 20))
#define Z_CLIENT_FEATURES_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 21))
#define Z_CLIENT_CONNECTION_TIMEOUT_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 22))
#define Z_CLIENT_STREAM_CONTEXT_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 23))
#define Z_CLIENT_USER_AGENT_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 24))
#define Z_CLIENT_KEEP_ALIVE_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 25))
#define Z_CLIENT_SSL_METHOD_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 26))
#define Z_CLIENT_SOAP_VERSION_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 27))
#define Z_CLIENT_USE_PROXY_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 28))
#define Z_CLIENT_COOKIES_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 29))
#define Z_CLIENT_DEFAULT_HEADERS_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 30))
#define Z_CLIENT_SOAP_FAULT_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 31))
#define Z_CLIENT_LAST_REQUEST_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 32))
#define Z_CLIENT_LAST_RESPONSE_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 33))
#define Z_CLIENT_LAST_REQUEST_HEADERS_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 34))
#define Z_CLIENT_LAST_RESPONSE_HEADERS_P(zv) php_soap_deref(OBJ_PROP_NUM(Z_OBJ_P(zv), 35))

#endif

0 comments on commit 50484b5

Please sign in to comment.