summaryrefslogtreecommitdiff
path: root/ext/standard/formatted_print.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2014-04-21 17:51:15 +0200
committerNikita Popov <nikic@php.net>2014-04-21 17:55:58 +0200
commit0d43a277b8dec6ea9f804eeb1a68c05047a22c4f (patch)
treef65e912985906605e7fc493067bfcbba33f05962 /ext/standard/formatted_print.c
parentbda96e3c589b2b923e70abd4a5e66dfa824e8f5d (diff)
downloadphp-git-0d43a277b8dec6ea9f804eeb1a68c05047a22c4f.tar.gz
Use zval_get_string in a few more places
Diffstat (limited to 'ext/standard/formatted_print.c')
-rw-r--r--ext/standard/formatted_print.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/ext/standard/formatted_print.c b/ext/standard/formatted_print.c
index 622fbfbb3f..b08b06fac5 100644
--- a/ext/standard/formatted_print.c
+++ b/ext/standard/formatted_print.c
@@ -559,24 +559,14 @@ php_formatted_print(int param_count, int use_array, int format_offset TSRMLS_DC)
switch (format[inpos]) {
case 's': {
- zval *var, var_copy;
- int use_copy;
-
- zend_make_printable_zval(&tmp, &var_copy, &use_copy);
- if (use_copy) {
- var = &var_copy;
- } else {
- var = &tmp;
- }
+ zend_string *str = zval_get_string(&tmp TSRMLS_CC);
php_sprintf_appendstring(&result, &outpos,
- Z_STRVAL_P(var),
+ str->val,
width, precision, padding,
alignment,
- Z_STRLEN_P(var),
+ str->len,
0, expprec, 0);
- if (use_copy) {
- zval_dtor(&var_copy);
- }
+ STR_RELEASE(str);
break;
}