]> granicus.if.org Git - php/commitdiff
Drop soap_hash_str_find_deref()
authorNikita Popov <nikita.ppv@gmail.com>
Sun, 25 Jun 2017 16:51:40 +0000 (18:51 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Sun, 25 Jun 2017 16:51:59 +0000 (18:51 +0200)
And directly use zend_hash_str_find_deref() instead.

ext/soap/php_encoding.c

index 5333b86eabf89edc2aaedc497a47920d2aa08888..a88d14fb1a09a213a658a7033dd8d9361d24af93 100644 (file)
@@ -283,16 +283,6 @@ static encodePtr find_encoder_by_type_name(sdlPtr sdl, const char *type)
        return NULL;
 }
 
-static zval *soap_hash_str_find_deref(HashTable *ht, const char *str, size_t len) {
-       zval *zv = zend_hash_str_find(ht, str, len);
-       if (!zv) {
-               return NULL;
-       }
-
-       ZVAL_DEREF(zv);
-       return zv;
-}
-
 static zend_bool soap_check_zval_ref(zval *data, xmlNodePtr node) {
        xmlNodePtr node_ptr;
 
@@ -402,14 +392,14 @@ static xmlNodePtr master_to_xml_int(encodePtr encode, zval *data, int style, xml
                encodePtr enc = NULL;
                HashTable *ht = Z_OBJPROP_P(data);
 
-               if ((ztype = soap_hash_str_find_deref(ht, "enc_type", sizeof("enc_type")-1)) == NULL ||
+               if ((ztype = zend_hash_str_find_deref(ht, "enc_type", sizeof("enc_type")-1)) == NULL ||
                    Z_TYPE_P(ztype) != IS_LONG) {
                        soap_error0(E_ERROR, "Encoding: SoapVar has no 'enc_type' property");
                }
 
-               if ((zstype = soap_hash_str_find_deref(ht, "enc_stype", sizeof("enc_stype")-1)) != NULL &&
+               if ((zstype = zend_hash_str_find_deref(ht, "enc_stype", sizeof("enc_stype")-1)) != NULL &&
                    Z_TYPE_P(zstype) == IS_STRING) {
-                       if ((zns = soap_hash_str_find_deref(ht, "enc_ns", sizeof("enc_ns")-1)) != NULL &&
+                       if ((zns = zend_hash_str_find_deref(ht, "enc_ns", sizeof("enc_ns")-1)) != NULL &&
                            Z_TYPE_P(zns) == IS_STRING) {
                                enc = get_encoder(SOAP_GLOBAL(sdl), Z_STRVAL_P(zns), Z_STRVAL_P(zstype));
                        } else {
@@ -436,13 +426,13 @@ static xmlNodePtr master_to_xml_int(encodePtr encode, zval *data, int style, xml
                        enc = encode;
                }
 
-               zdata = soap_hash_str_find_deref(ht, "enc_value", sizeof("enc_value")-1);
+               zdata = zend_hash_str_find_deref(ht, "enc_value", sizeof("enc_value")-1);
                node = master_to_xml(enc, zdata, style, parent);
 
                if (style == SOAP_ENCODED || (SOAP_GLOBAL(sdl) && encode != enc)) {
-                       if ((zstype = soap_hash_str_find_deref(ht, "enc_stype", sizeof("enc_stype")-1)) != NULL &&
+                       if ((zstype = zend_hash_str_find_deref(ht, "enc_stype", sizeof("enc_stype")-1)) != NULL &&
                            Z_TYPE_P(zstype) == IS_STRING) {
-                               if ((zns = soap_hash_str_find_deref(ht, "enc_ns", sizeof("enc_ns")-1)) != NULL &&
+                               if ((zns = zend_hash_str_find_deref(ht, "enc_ns", sizeof("enc_ns")-1)) != NULL &&
                                    Z_TYPE_P(zns) == IS_STRING) {
                                        set_ns_and_type_ex(node, Z_STRVAL_P(zns), Z_STRVAL_P(zstype));
                                } else {
@@ -451,11 +441,11 @@ static xmlNodePtr master_to_xml_int(encodePtr encode, zval *data, int style, xml
                        }
                }
 
-               if ((zname = soap_hash_str_find_deref(ht, "enc_name", sizeof("enc_name")-1)) != NULL &&
+               if ((zname = zend_hash_str_find_deref(ht, "enc_name", sizeof("enc_name")-1)) != NULL &&
                    Z_TYPE_P(zname) == IS_STRING) {
                        xmlNodeSetName(node, BAD_CAST(Z_STRVAL_P(zname)));
                }
-               if ((znamens = soap_hash_str_find_deref(ht, "enc_namens", sizeof("enc_namens")-1)) != NULL &&
+               if ((znamens = zend_hash_str_find_deref(ht, "enc_namens", sizeof("enc_namens")-1)) != NULL &&
                    Z_TYPE_P(znamens) == IS_STRING) {
                        xmlNsPtr nsp = encode_add_ns(node, Z_STRVAL_P(znamens));
                        xmlSetNs(node, nsp);
@@ -1214,7 +1204,7 @@ static zval* get_zval_property(zval* object, char* name, zval *rv)
                ZVAL_DEREF(data);
                return data;
        } else if (Z_TYPE_P(object) == IS_ARRAY) {
-               return soap_hash_str_find_deref(Z_ARRVAL_P(object), name, strlen(name));
+               return zend_hash_str_find_deref(Z_ARRVAL_P(object), name, strlen(name));
        }
        return NULL;
 }
@@ -1429,7 +1419,7 @@ static zval *to_zval_object_ex(zval *ret, encodeTypePtr type, xmlNodePtr data, z
                zval              *classname;
                zend_class_entry  *tmp;
 
-               if ((classname = soap_hash_str_find_deref(SOAP_GLOBAL(class_map), type->type_str, strlen(type->type_str))) != NULL &&
+               if ((classname = zend_hash_str_find_deref(SOAP_GLOBAL(class_map), type->type_str, strlen(type->type_str))) != NULL &&
                    Z_TYPE_P(classname) == IS_STRING &&
                    (tmp = zend_fetch_class(Z_STR_P(classname), ZEND_FETCH_CLASS_AUTO)) != NULL) {
                        ce = tmp;
@@ -3535,20 +3525,20 @@ static encodePtr get_array_type(xmlNodePtr node, zval *array, smart_str *type)
                    Z_OBJCE_P(tmp) == soap_var_class_entry) {
                        zval *ztype;
 
-                       if ((ztype = soap_hash_str_find_deref(Z_OBJPROP_P(tmp), "enc_type", sizeof("enc_type")-1)) == NULL ||
+                       if ((ztype = zend_hash_str_find_deref(Z_OBJPROP_P(tmp), "enc_type", sizeof("enc_type")-1)) == NULL ||
                            Z_TYPE_P(ztype) != IS_LONG) {
                                soap_error0(E_ERROR,  "Encoding: SoapVar has no 'enc_type' property");
                        }
                        cur_type = Z_LVAL_P(ztype);
 
-                       if ((ztype = soap_hash_str_find_deref(Z_OBJPROP_P(tmp), "enc_stype", sizeof("enc_stype")-1)) != NULL &&
+                       if ((ztype = zend_hash_str_find_deref(Z_OBJPROP_P(tmp), "enc_stype", sizeof("enc_stype")-1)) != NULL &&
                            Z_TYPE_P(ztype) == IS_STRING) {
                                cur_stype = Z_STRVAL_P(ztype);
                        } else {
                                cur_stype = NULL;
                        }
 
-                       if ((ztype = soap_hash_str_find_deref(Z_OBJPROP_P(tmp), "enc_ns", sizeof("enc_ns")-1)) != NULL &&
+                       if ((ztype = zend_hash_str_find_deref(Z_OBJPROP_P(tmp), "enc_ns", sizeof("enc_ns")-1)) != NULL &&
                            Z_TYPE_P(ztype) == IS_STRING) {
                                cur_ns = Z_STRVAL_P(ztype);
                        } else {