From 695e8b79aff3108327d0189dba0abf05f58be847 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Wed, 6 Jan 2016 00:01:44 +0800 Subject: [PATCH] Fixed bug #71287 (Error message contains hexadecimal instead of decimal number) --- NEWS | 2 ++ ext/standard/file.c | 4 ++-- ext/standard/tests/file/bug71287.phpt | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 ext/standard/tests/file/bug71287.phpt diff --git a/NEWS b/NEWS index cc43981a50..bfaf241a41 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,8 @@ PHP NEWS immediately). (Laruence) - Standard: + . Fixed bug #71287 (Error message contains hexadecimal instead of decimal + number). (Laruence) . Fixed bug #71264 (file_put_contents() returns unexpected value when filesystem runs full). (Laruence) . Fixed bug #71245 (file_get_contents() ignores "header" context option if diff --git a/ext/standard/file.c b/ext/standard/file.c index 4f3a6abd11..26f5c161ce 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -642,7 +642,7 @@ PHP_FUNCTION(file_put_contents) if (Z_STRLEN_P(data)) { numbytes = php_stream_write(stream, Z_STRVAL_P(data), Z_STRLEN_P(data)); if (numbytes != Z_STRLEN_P(data)) { - php_error_docref(NULL, E_WARNING, "Only %pl of %zd bytes written, possibly out of free disk space", numbytes, Z_STRLEN_P(data)); + php_error_docref(NULL, E_WARNING, "Only "ZEND_LONG_FMT" of %zd bytes written, possibly out of free disk space", numbytes, Z_STRLEN_P(data)); numbytes = -1; } } @@ -677,7 +677,7 @@ PHP_FUNCTION(file_put_contents) if (zend_std_cast_object_tostring(data, &out, IS_STRING) == SUCCESS) { numbytes = php_stream_write(stream, Z_STRVAL(out), Z_STRLEN(out)); if (numbytes != Z_STRLEN(out)) { - php_error_docref(NULL, E_WARNING, "Only %pd of %zd bytes written, possibly out of free disk space", numbytes, Z_STRLEN(out)); + php_error_docref(NULL, E_WARNING, "Only "ZEND_LONG_FMT" of %zd bytes written, possibly out of free disk space", numbytes, Z_STRLEN(out)); numbytes = -1; } zval_dtor(&out); diff --git a/ext/standard/tests/file/bug71287.phpt b/ext/standard/tests/file/bug71287.phpt new file mode 100644 index 0000000000..b7987829b0 --- /dev/null +++ b/ext/standard/tests/file/bug71287.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #71287 (Error message contains hexadecimal instead of decimal number) +--FILE-- + +--EXPECTF-- +Warning: file_put_contents(): Only 7 of 9 bytes written, possibly out of free disk space in %sbug71287.php on line %d -- 2.40.0