]> granicus.if.org Git - php/commitdiff
Drop unnecessary zval containers
authorNikita Popov <nikic@php.net>
Wed, 22 Oct 2014 18:13:22 +0000 (20:13 +0200)
committerNikita Popov <nikic@php.net>
Sat, 6 Dec 2014 11:38:56 +0000 (12:38 +0100)
ext/soap/php_encoding.c
ext/standard/string.c

index 97191652d67f3bd0b21e0f92b172bd2ac344cec4..9e554a9f5a3e6c81c681dc5a2a4635dd0e3425c8 100644 (file)
@@ -3134,11 +3134,9 @@ static xmlNodePtr to_xml_any(encodeTypePtr type, zval *data, int style, xmlNodeP
        if (Z_TYPE_P(data) == IS_STRING) {
                ret = xmlNewTextLen(BAD_CAST(Z_STRVAL_P(data)), Z_STRLEN_P(data));
        } else {
-               zval tmp;
-
-               ZVAL_STR(&tmp, zval_get_string(data));
-               ret = xmlNewTextLen(BAD_CAST(Z_STRVAL(tmp)), Z_STRLEN(tmp));
-               zval_dtor(&tmp);
+               zend_string *tmp = zval_get_string(data);
+               ret = xmlNewTextLen(BAD_CAST(tmp->val), tmp->len);
+               zend_string_release(tmp);
        }
 
        ret->name = xmlStringTextNoenc;
index 5d5f4324f54c396e8cdd85dd612bcf45c21b340c..ec86b08d3ce2b3dfdf04e70250eaa11ea461604f 100644 (file)
@@ -1672,18 +1672,11 @@ static int php_needle_char(zval *needle, char *target TSRMLS_DC)
                        *target = (char)(int)Z_DVAL_P(needle);
                        return SUCCESS;
                case IS_OBJECT:
-                       {
-                               zval holder;
-                          
-                               ZVAL_LONG(&holder, zval_get_long(needle));
-
-                               *target = (char)Z_LVAL(holder);
-                               return SUCCESS;
-                       }
-               default: {
+                       *target = (char) zval_get_long(needle);
+                       return SUCCESS;
+               default:
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "needle is not a string or an integer");
                        return FAILURE;
-                }
        }
 }
 /* }}} */