From 743729d5bf4637ef6f9f6008213ac675d216abf6 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Thu, 22 Aug 2019 12:03:22 +0200 Subject: [PATCH] Promote warnings to errors in str_pad() --- ext/standard/string.c | 4 +- ext/standard/tests/strings/str_pad.phpt | Bin 9340 -> 8557 bytes .../tests/strings/str_pad_variation2.phpt | 70 ++++++++++++++++++ 3 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 ext/standard/tests/strings/str_pad_variation2.phpt diff --git a/ext/standard/string.c b/ext/standard/string.c index 0ddc1f6956..823d1ab4c1 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -5683,12 +5683,12 @@ PHP_FUNCTION(str_pad) } if (pad_str_len == 0) { - php_error_docref(NULL, E_WARNING, "Padding string cannot be empty"); + zend_throw_error(NULL, "Padding string cannot be empty"); return; } if (pad_type_val < STR_PAD_LEFT || pad_type_val > STR_PAD_BOTH) { - php_error_docref(NULL, E_WARNING, "Padding type has to be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH"); + zend_throw_error(NULL, "Padding type has to be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH"); return; } diff --git a/ext/standard/tests/strings/str_pad.phpt b/ext/standard/tests/strings/str_pad.phpt index be4c9ed9428695dd25d532e0eabca37dddc1580f..a4f60bfa6ae277ebee476fe74613024d5dc0029d 100644 GIT binary patch delta 504 zcmez4@z!a>M;=TFtXg1o2Ux{`_FrQ)n#{!(F*$)vfAT{%gUP$uw19Nfy z4zjtHt9Ei8lf>j_@}irgICz+tV)7=ZacS|#2FMVMq1NBbc z$STflXru!U7ohPVJ_m@eqy+Rz50}AYMm9ZeC2e3p8=7h=0LApUWfw#|<;a*4B2i zBma!a2K*+QZ}Pttm^_bDPLwM=u_zCi*{ndBE*_X9H8iahCO=b sizeof(input_string) + 16, // pad_length > sizeof(input_string) +]; + +$pad_string = "="; + +/*loop through to use each variant of $pad_length on + each element of $input_strings array */ +foreach ($pad_lengths as $pad_length ) { + // default pad_string & pad_type + var_dump( bin2hex( str_pad($string, $pad_length) ) ); + // default pad_type + var_dump( bin2hex( str_pad($string, $pad_length, $pad_string) ) ); + var_dump( bin2hex( str_pad($string, $pad_length, $pad_string, STR_PAD_LEFT) ) ); + var_dump( bin2hex( str_pad($string, $pad_length, $pad_string, STR_PAD_RIGHT) ) ); + var_dump( bin2hex( str_pad($string, $pad_length, $pad_string, STR_PAD_BOTH) ) ); +} + +?> + +DONE +--EXPECT-- +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(10) "00ff80ea8f" +string(18) "00ff80ea8f20202020" +string(18) "00ff80ea8f3d3d3d3d" +string(18) "3d3d3d3d00ff80ea8f" +string(18) "00ff80ea8f3d3d3d3d" +string(18) "3d3d00ff80ea8f3d3d" +string(20) "00ff80ea8f2020202020" +string(20) "00ff80ea8f3d3d3d3d3d" +string(20) "3d3d3d3d3d00ff80ea8f" +string(20) "00ff80ea8f3d3d3d3d3d" +string(20) "3d3d00ff80ea8f3d3d3d" +string(32) "00ff80ea8f2020202020202020202020" +string(32) "00ff80ea8f3d3d3d3d3d3d3d3d3d3d3d" +string(32) "3d3d3d3d3d3d3d3d3d3d3d00ff80ea8f" +string(32) "00ff80ea8f3d3d3d3d3d3d3d3d3d3d3d" +string(32) "3d3d3d3d3d00ff80ea8f3d3d3d3d3d3d" + +DONE -- 2.40.0