Skip to content

Commit e004c00

Browse files
Invert the order of parameters for remove and ensure functions
1 parent 57f795a commit e004c00

File tree

7 files changed

+67
-67
lines changed

7 files changed

+67
-67
lines changed

ext/standard/basic_functions.stub.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2433,13 +2433,13 @@ function str_ends_with(string $haystack, string $needle): bool {}
24332433
* @compile-time-eval
24342434
* @refcount 1
24352435
*/
2436-
function str_prefix_ensure(string $prefix, string $subject): string {}
2436+
function str_prefix_ensure(string $subject, string $prefix): string {}
24372437

24382438
/**
24392439
* @compile-time-eval
24402440
* @refcount 1
24412441
*/
2442-
function str_prefix_remove(string $prefix, string $subject): string {}
2442+
function str_prefix_remove(string $subject, string $prefix): string {}
24432443

24442444
/**
24452445
* @compile-time-eval
@@ -2451,13 +2451,13 @@ function str_prefix_replace(string $prefix, string $replace, string $subject): s
24512451
* @compile-time-eval
24522452
* @refcount 1
24532453
*/
2454-
function str_suffix_ensure(string $suffix, string $subject): string {}
2454+
function str_suffix_ensure(string $subject, string $suffix): string {}
24552455

24562456
/**
24572457
* @compile-time-eval
24582458
* @refcount 1
24592459
*/
2460-
function str_suffix_remove(string $suffix, string $subject): string {}
2460+
function str_suffix_remove(string $subject, string $suffix): string {}
24612461

24622462
/**
24632463
* @compile-time-eval

ext/standard/basic_functions_arginfo.h

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

ext/standard/string.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1895,8 +1895,8 @@ PHP_FUNCTION(str_prefix_ensure)
18951895
zend_string *subject, *prefix;
18961896

18971897
ZEND_PARSE_PARAMETERS_START(2, 2)
1898-
Z_PARAM_STR(prefix)
18991898
Z_PARAM_STR(subject)
1899+
Z_PARAM_STR(prefix)
19001900
ZEND_PARSE_PARAMETERS_END();
19011901

19021902
if (ZSTR_LEN(prefix) == 0) {
@@ -1922,8 +1922,8 @@ PHP_FUNCTION(str_prefix_remove)
19221922
zend_string *subject, *prefix;
19231923

19241924
ZEND_PARSE_PARAMETERS_START(2, 2)
1925-
Z_PARAM_STR(prefix)
19261925
Z_PARAM_STR(subject)
1926+
Z_PARAM_STR(prefix)
19271927
ZEND_PARSE_PARAMETERS_END();
19281928

19291929
if (ZSTR_LEN(prefix) > ZSTR_LEN(subject)) {
@@ -1972,8 +1972,8 @@ PHP_FUNCTION(str_suffix_ensure)
19721972
zend_string *subject, *suffix;
19731973

19741974
ZEND_PARSE_PARAMETERS_START(2, 2)
1975-
Z_PARAM_STR(suffix)
19761975
Z_PARAM_STR(subject)
1976+
Z_PARAM_STR(suffix)
19771977
ZEND_PARSE_PARAMETERS_END();
19781978

19791979
if (ZSTR_LEN(suffix) == 0) {
@@ -2001,8 +2001,8 @@ PHP_FUNCTION(str_suffix_remove)
20012001
zend_string *subject, *suffix;
20022002

20032003
ZEND_PARSE_PARAMETERS_START(2, 2)
2004-
Z_PARAM_STR(suffix)
20052004
Z_PARAM_STR(subject)
2005+
Z_PARAM_STR(suffix)
20062006
ZEND_PARSE_PARAMETERS_END();
20072007

20082008
if (ZSTR_LEN(suffix) > ZSTR_LEN(subject)) {

ext/standard/tests/strings/str_prefix_ensure.phpt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,39 @@ echo "*** Testing str_prefix_ensure() : various strings ***\n";
88
$testStr = "BeginningMiddleEnd";
99

1010
// Does not start with prefix - should be added
11-
var_dump(str_prefix_ensure("The", $testStr));
11+
var_dump(str_prefix_ensure($testStr, "The"));
1212

1313
// Already starts with prefix - should return original
14-
var_dump(str_prefix_ensure("Beginning", $testStr));
14+
var_dump(str_prefix_ensure($testStr, "Beginning"));
1515

1616
// Empty prefix - should return original
17-
var_dump(str_prefix_ensure("", $testStr));
17+
var_dump(str_prefix_ensure($testStr, ""));
1818

1919
// Empty source - should add prefix
20-
var_dump(str_prefix_ensure("prefix", ""));
20+
var_dump(str_prefix_ensure("", "prefix"));
2121

2222
// Both empty strings
2323
var_dump(str_prefix_ensure("", ""));
2424

2525
// Add prefix to empty string with space
26-
var_dump(str_prefix_ensure(" ", ""));
26+
var_dump(str_prefix_ensure("", " "));
2727

2828
// Source shorter than prefix but doesn't start with it
29-
var_dump(str_prefix_ensure("abc", "a"));
29+
var_dump(str_prefix_ensure("a", "abc"));
3030

3131
// Source equals prefix - should return original
3232
var_dump(str_prefix_ensure("test", "test"));
3333

3434
// Null byte handling
35-
var_dump(str_prefix_ensure("\x00", $testStr));
36-
var_dump(str_prefix_ensure("", "\x00"));
35+
var_dump(str_prefix_ensure($testStr, "\x00"));
36+
var_dump(str_prefix_ensure("\x00", ""));
3737
var_dump(str_prefix_ensure("\x00", "\x00"));
38-
var_dump(str_prefix_ensure("\x00", "\x00a"));
39-
var_dump(str_prefix_ensure("\x00", "a"));
40-
var_dump(str_prefix_ensure("\x00ab", "c\x00ab"));
41-
var_dump(str_prefix_ensure("c\x00", "\x00ab"));
42-
var_dump(str_prefix_ensure("a\x00d", "a\x00b"));
43-
var_dump(str_prefix_ensure("a\x00z", "a\x00b"));
38+
var_dump(str_prefix_ensure("\x00a", "\x00"));
39+
var_dump(str_prefix_ensure("a", "\x00"));
40+
var_dump(str_prefix_ensure("c\x00ab", "\x00ab"));
41+
var_dump(str_prefix_ensure("\x00ab", "c\x00"));
42+
var_dump(str_prefix_ensure("a\x00b", "a\x00d"));
43+
var_dump(str_prefix_ensure("a\x00b", "a\x00z"));
4444

4545
?>
4646
--EXPECTF--

ext/standard/tests/strings/str_prefix_remove.phpt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,39 @@ echo "*** Testing str_prefix_remove() : various strings ***\n";
88
$testStr = "BeginningMiddleEnd";
99

1010
// Matching prefix - should be removed
11-
var_dump(str_prefix_remove("Beginning", $testStr));
11+
var_dump(str_prefix_remove($testStr, "Beginning"));
1212

1313
// Non-matching prefix (case sensitive) - should return original
14-
var_dump(str_prefix_remove("beginning", $testStr));
14+
var_dump(str_prefix_remove($testStr, "beginning"));
1515

1616
// Partial match but not at start - should return original
17-
var_dump(str_prefix_remove("Middle", $testStr));
17+
var_dump(str_prefix_remove($testStr, "Middle"));
1818

1919
// Remove entire string
2020
var_dump(str_prefix_remove($testStr, $testStr));
2121

2222
// Prefix longer than source - should return original
23-
var_dump(str_prefix_remove($testStr.$testStr, $testStr));
23+
var_dump(str_prefix_remove($testStr, $testStr.$testStr));
2424

2525
// Empty prefix - should return original
26-
var_dump(str_prefix_remove("", $testStr));
26+
var_dump(str_prefix_remove($testStr, ""));
2727

2828
// Both empty strings
2929
var_dump(str_prefix_remove("", ""));
3030

3131
// Empty source, non-empty prefix
32-
var_dump(str_prefix_remove(" ", ""));
32+
var_dump(str_prefix_remove("", " "));
3333

3434
// Null byte handling
35-
var_dump(str_prefix_remove("\x00", $testStr));
36-
var_dump(str_prefix_remove("", "\x00"));
35+
var_dump(str_prefix_remove($testStr, "\x00"));
36+
var_dump(str_prefix_remove("\x00", ""));
3737
var_dump(str_prefix_remove("\x00", "\x00"));
38-
var_dump(str_prefix_remove("\x00", "\x00a"));
39-
var_dump(str_prefix_remove("\x00bc", "\x00bca"));
40-
var_dump(str_prefix_remove("d\x00a", "b\x00a"));
41-
var_dump(str_prefix_remove("z\x00a", "b\x00a"));
42-
var_dump(str_prefix_remove("a\x00", "a"));
43-
var_dump(str_prefix_remove("\x00a", "a"));
38+
var_dump(str_prefix_remove("\x00a", "\x00"));
39+
var_dump(str_prefix_remove("\x00bca", "\x00bc"));
40+
var_dump(str_prefix_remove("b\x00a", "d\x00a"));
41+
var_dump(str_prefix_remove("b\x00a", "z\x00a"));
42+
var_dump(str_prefix_remove("a", "a\x00"));
43+
var_dump(str_prefix_remove("a", "\x00a"));
4444

4545
?>
4646
--EXPECTF--

ext/standard/tests/strings/str_suffix_ensure.phpt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,39 @@ echo "*** Testing str_suffix_ensure() : various strings ***\n";
88
$testStr = "BeginningMiddleEnd";
99

1010
// Does not end with suffix - should be added
11-
var_dump(str_suffix_ensure("ing", $testStr));
11+
var_dump(str_suffix_ensure($testStr, "ing"));
1212

1313
// Already ends with suffix - should return original
14-
var_dump(str_suffix_ensure("End", $testStr));
14+
var_dump(str_suffix_ensure($testStr, "End"));
1515

1616
// Empty suffix - should return original
17-
var_dump(str_suffix_ensure("", $testStr));
17+
var_dump(str_suffix_ensure($testStr, ""));
1818

1919
// Empty source - should add suffix
20-
var_dump(str_suffix_ensure("suffix", ""));
20+
var_dump(str_suffix_ensure("", "suffix"));
2121

2222
// Both empty strings
2323
var_dump(str_suffix_ensure("", ""));
2424

2525
// Add suffix to empty string with space
26-
var_dump(str_suffix_ensure(" ", ""));
26+
var_dump(str_suffix_ensure("", " "));
2727

2828
// Source shorter than suffix but doesn't end with it
29-
var_dump(str_suffix_ensure("abc", "a"));
29+
var_dump(str_suffix_ensure("a", "abc"));
3030

3131
// Source equals suffix - should return original
3232
var_dump(str_suffix_ensure("test", "test"));
3333

3434
// Null byte handling
35-
var_dump(str_suffix_ensure("\x00", $testStr));
36-
var_dump(str_suffix_ensure("", "\x00"));
35+
var_dump(str_suffix_ensure($testStr, "\x00"));
36+
var_dump(str_suffix_ensure("\x00", ""));
3737
var_dump(str_suffix_ensure("\x00", "\x00"));
38-
var_dump(str_suffix_ensure("\x00", "a\x00"));
39-
var_dump(str_suffix_ensure("\x00", "a"));
40-
var_dump(str_suffix_ensure("\x00c", "ab\x00c"));
41-
var_dump(str_suffix_ensure("\x00c", "ab\x00"));
42-
var_dump(str_suffix_ensure("d\x00a", "b\x00a"));
43-
var_dump(str_suffix_ensure("z\x00a", "b\x00a"));
38+
var_dump(str_suffix_ensure("a\x00", "\x00"));
39+
var_dump(str_suffix_ensure("a", "\x00"));
40+
var_dump(str_suffix_ensure("ab\x00c", "\x00c"));
41+
var_dump(str_suffix_ensure("ab\x00", "\x00c"));
42+
var_dump(str_suffix_ensure("b\x00a", "d\x00a"));
43+
var_dump(str_suffix_ensure("b\x00a", "z\x00a"));
4444

4545
?>
4646
--EXPECTF--

ext/standard/tests/strings/str_suffix_remove.phpt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,39 @@ echo "*** Testing str_suffix_remove() : various strings ***\n";
88
$testStr = "beginningMiddleEnd";
99

1010
// Matching suffix - should be removed
11-
var_dump(str_suffix_remove("End", $testStr));
11+
var_dump(str_suffix_remove($testStr, "End"));
1212

1313
// Non-matching suffix (case sensitive) - should return original
14-
var_dump(str_suffix_remove("end", $testStr));
14+
var_dump(str_suffix_remove($testStr, "end"));
1515

1616
// Partial match but not at end - should return original
17-
var_dump(str_suffix_remove("en", $testStr));
17+
var_dump(str_suffix_remove($testStr, "en"));
1818

1919
// Remove entire string
2020
var_dump(str_suffix_remove($testStr, $testStr));
2121

2222
// Suffix longer than source - should return original
23-
var_dump(str_suffix_remove($testStr.$testStr, $testStr));
23+
var_dump(str_suffix_remove($testStr, $testStr.$testStr));
2424

2525
// Empty suffix - should return original
26-
var_dump(str_suffix_remove("", $testStr));
26+
var_dump(str_suffix_remove($testStr, ""));
2727

2828
// Both empty strings
2929
var_dump(str_suffix_remove("", ""));
3030

3131
// Empty source, non-empty suffix
32-
var_dump(str_suffix_remove(" ", ""));
32+
var_dump(str_suffix_remove("", " "));
3333

3434
// Null byte handling
35-
var_dump(str_suffix_remove("\x00", $testStr));
36-
var_dump(str_suffix_remove("", "\x00"));
35+
var_dump(str_suffix_remove($testStr, "\x00"));
36+
var_dump(str_suffix_remove("\x00", ""));
3737
var_dump(str_suffix_remove("\x00", "\x00"));
38-
var_dump(str_suffix_remove("\x00", "a\x00"));
39-
var_dump(str_suffix_remove("b\x00c", "ab\x00c"));
40-
var_dump(str_suffix_remove("d\x00b", "a\x00b"));
41-
var_dump(str_suffix_remove("a\x00z", "a\x00b"));
42-
var_dump(str_suffix_remove("\x00a", "a"));
43-
var_dump(str_suffix_remove("a\x00", "a"));
38+
var_dump(str_suffix_remove("a\x00", "\x00"));
39+
var_dump(str_suffix_remove("ab\x00c", "b\x00c"));
40+
var_dump(str_suffix_remove("a\x00b", "d\x00b"));
41+
var_dump(str_suffix_remove("a\x00b", "a\x00z"));
42+
var_dump(str_suffix_remove("a", "\x00a"));
43+
var_dump(str_suffix_remove("a", "a\x00"));
4444

4545
?>
4646
--EXPECTF--

0 commit comments

Comments
 (0)