Skip to content

Commit ceab7ee

Browse files
committed
filter: Rename FILTER_VALIDATE_STR to FILTER_VALIDATE_STRLEN
The validator checks the length of a UTF-8 string in Unicode code points. Renaming improves clarity and aligns the filter name with the min_len / max_len options.
1 parent 3902fae commit ceab7ee

10 files changed

Lines changed: 29 additions & 29 deletions

ext/filter/filter.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ static const filter_list_entry filter_list[] = {
5050
{ "validate_email", FILTER_VALIDATE_EMAIL, php_filter_validate_email },
5151
{ "validate_ip", FILTER_VALIDATE_IP, php_filter_validate_ip },
5252
{ "validate_mac", FILTER_VALIDATE_MAC, php_filter_validate_mac },
53-
{ "validate_str", FILTER_VALIDATE_STR, php_filter_validate_str },
53+
{ "validate_strlen", FILTER_VALIDATE_STRLEN, php_filter_validate_strlen },
5454

5555
{ "string", FILTER_SANITIZE_STRING, php_filter_string },
5656
{ "stripped", FILTER_SANITIZE_STRING, php_filter_string },

ext/filter/filter.stub.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,9 @@
114114
const FILTER_VALIDATE_MAC = UNKNOWN;
115115
/**
116116
* @var int
117-
* @cvalue FILTER_VALIDATE_STR
117+
* @cvalue FILTER_VALIDATE_STRLEN
118118
*/
119-
const FILTER_VALIDATE_STR = UNKNOWN;
119+
const FILTER_VALIDATE_STRLEN = UNKNOWN;
120120

121121
/**
122122
* @var int

ext/filter/filter_arginfo.h

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ext/filter/filter_private.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
#define FILTER_VALIDATE_IP 0x0113
6868
#define FILTER_VALIDATE_MAC 0x0114
6969
#define FILTER_VALIDATE_DOMAIN 0x0115
70-
#define FILTER_VALIDATE_STR 0x0116
70+
#define FILTER_VALIDATE_STRLEN 0x0116
7171
#define FILTER_VALIDATE_LAST 0x0116
7272

7373
#define FILTER_VALIDATE_ALL 0x0100

ext/filter/logical_filters.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1143,7 +1143,7 @@ static size_t php_utf8_strlen(const unsigned char *str, size_t str_len)
11431143
}
11441144

11451145

1146-
zend_result php_filter_validate_str(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
1146+
zend_result php_filter_validate_strlen(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
11471147
{
11481148
int min_len_set, max_len_set;
11491149
zval *option_val;

ext/filter/php_filter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ zend_result php_filter_validate_url(PHP_INPUT_FILTER_PARAM_DECL);
6262
zend_result php_filter_validate_email(PHP_INPUT_FILTER_PARAM_DECL);
6363
zend_result php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL);
6464
zend_result php_filter_validate_mac(PHP_INPUT_FILTER_PARAM_DECL);
65-
zend_result php_filter_validate_str(PHP_INPUT_FILTER_PARAM_DECL);
65+
zend_result php_filter_validate_strlen(PHP_INPUT_FILTER_PARAM_DECL);
6666

6767
zend_result php_filter_string(PHP_INPUT_FILTER_PARAM_DECL);
6868
zend_result php_filter_encoded(PHP_INPUT_FILTER_PARAM_DECL);

ext/filter/tests/validate_str_basic.phpt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ $options2 = ['options' => ['max_len' => 2, 'default' => 'error']];
99
$options3 = ['options' => ['min_len' => 0]];
1010

1111
var_dump(
12-
filter_var('ab', filter_id('validate_str'), $options1),
13-
filter_var('🐘🐘', FILTER_VALIDATE_STR, $options1),
14-
filter_var('🐘', FILTER_VALIDATE_STR, $options1),
15-
filter_var('🐘🐘🐘', FILTER_VALIDATE_STR, $options1),
16-
filter_var('🐘🐘🐘', FILTER_VALIDATE_STR, $options2),
17-
filter_var('', FILTER_VALIDATE_STR, $options3),
12+
filter_var('ab', filter_id('validate_strlen'), $options1),
13+
filter_var('🐘🐘', FILTER_VALIDATE_STRLEN, $options1),
14+
filter_var('🐘', FILTER_VALIDATE_STRLEN, $options1),
15+
filter_var('🐘🐘🐘', FILTER_VALIDATE_STRLEN, $options1),
16+
filter_var('🐘🐘🐘', FILTER_VALIDATE_STRLEN, $options2),
17+
filter_var('', FILTER_VALIDATE_STRLEN, $options3),
1818
);
1919
?>
2020
--EXPECT--

ext/filter/tests/validate_str_invalid_options.phpt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ FILTER_VALIDATE_STR: invalid min_len/max_len options
44
<?php
55

66
echo "--- min_len negative ---\n";
7-
var_dump(filter_var("abc", FILTER_VALIDATE_STR, [
7+
var_dump(filter_var("abc", FILTER_VALIDATE_STRLEN, [
88
"options" => ["min_len" => -1]
99
]));
1010

1111
echo "--- max_len negative ---\n";
12-
var_dump(filter_var("abc", FILTER_VALIDATE_STR, [
12+
var_dump(filter_var("abc", FILTER_VALIDATE_STRLEN, [
1313
"options" => ["max_len" => -1]
1414
]));
1515

1616
echo "--- min_len greater than max_len ---\n";
17-
var_dump(filter_var("abc", FILTER_VALIDATE_STR, [
17+
var_dump(filter_var("abc", FILTER_VALIDATE_STRLEN, [
1818
"options" => [
1919
"min_len" => 10,
2020
"max_len" => 5
@@ -34,4 +34,4 @@ bool(false)
3434
--- min_len greater than max_len ---
3535

3636
Warning: filter_var(): min_len must be less than or equal to max_len in %s on line %d
37-
bool(false)
37+
bool(false)

ext/filter/tests/validate_str_invalid_type.phpt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,22 @@ FILTER_VALIDATE_STR: Invalid input types
1111
* - Scalar types (int, float, bool) are automatically converted to strings before filtering.
1212
* - Non-scalar types (array, object, resource, null) always result in false.
1313
*
14-
* This test ensures FILTER_VALIDATE_STR behaves accordingly for various input types.
14+
* This test ensures FILTER_VALIDATE_STRLEN behaves accordingly for various input types.
1515
*/
1616

1717
$options = ['options' => ['min_len' => 2, 'max_len' => 4]];
1818
$handle = fopen("php://memory", "r");
1919
class Dummy { public $x = 1; }
2020

2121
var_dump(
22-
filter_var(1234, FILTER_VALIDATE_STR, $options),
23-
filter_var(3.14, FILTER_VALIDATE_STR, $options),
24-
filter_var(['a', 'b'], FILTER_VALIDATE_STR, $options),
25-
filter_var(new Dummy(), FILTER_VALIDATE_STR, $options),
26-
filter_var(NULL, FILTER_VALIDATE_STR, $options),
27-
filter_var(true, FILTER_VALIDATE_STR, $options),
28-
filter_var(false, FILTER_VALIDATE_STR, $options),
29-
filter_var($handle, FILTER_VALIDATE_STR, $options)
22+
filter_var(1234, FILTER_VALIDATE_STRLEN, $options),
23+
filter_var(3.14, FILTER_VALIDATE_STRLEN, $options),
24+
filter_var(['a', 'b'], FILTER_VALIDATE_STRLEN, $options),
25+
filter_var(new Dummy(), FILTER_VALIDATE_STRLEN, $options),
26+
filter_var(NULL, FILTER_VALIDATE_STRLEN, $options),
27+
filter_var(true, FILTER_VALIDATE_STRLEN, $options),
28+
filter_var(false, FILTER_VALIDATE_STRLEN, $options),
29+
filter_var($handle, FILTER_VALIDATE_STRLEN, $options)
3030
);
3131

3232
fclose($handle);

ext/filter/tests/validate_str_unicode.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ FILTER_VALIDATE_STR: Unicode maximal subpart validation (Table 3-11 reference)
2727
$options1 = ['options' => ['min_range' => 2, 'max_range' => 2]];
2828
$options2 = ['options' => ['max_range' => 5]];
2929

30-
echo bin2hex(filter_var("a\x80", FILTER_VALIDATE_STR, $options1)), "\n";
31-
echo bin2hex(filter_var("\xE1\x80\xE2\xF0\x91\x92\xF1\xBF\x41", FILTER_VALIDATE_STR, $options2)), "\n";
30+
echo bin2hex(filter_var("a\x80", FILTER_VALIDATE_STRLEN, $options1)), "\n";
31+
echo bin2hex(filter_var("\xE1\x80\xE2\xF0\x91\x92\xF1\xBF\x41", FILTER_VALIDATE_STRLEN, $options2)), "\n";
3232
?>
3333
--EXPECT--
3434
6180

0 commit comments

Comments
 (0)