Skip to content

Commit 3b5e566

Browse files
committed
Merge branch 'PHP-7.4'
2 parents 60eee27 + d3e00de commit 3b5e566

12 files changed

+76
-194
lines changed

TSRM/tsrm_win32.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -468,17 +468,17 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
468468
return NULL;
469469
}
470470

471-
/*The following two checks can be removed once we drop XP support */
472471
type_len = (int)strlen(type);
473-
if (type_len <1 || type_len > 2) {
472+
if (type_len < 1 || type_len > 2) {
474473
return NULL;
475474
}
476475

477-
for (i=0; i < type_len; i++) {
478-
if (!(*ptype == 'r' || *ptype == 'w' || *ptype == 'b' || *ptype == 't')) {
479-
return NULL;
480-
}
481-
ptype++;
476+
if (ptype[0] != 'r' && ptype[0] != 'w') {
477+
return NULL;
478+
}
479+
480+
if (type_len > 1 && (ptype[1] != 'b' && ptype[1] != 't')) {
481+
return NULL;
482482
}
483483

484484
cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c ")+2);

ext/phar/tests/phar_begin_setstub_commit.phpt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,44 +9,44 @@ phar.require_hash=0
99
phar.readonly=0
1010
--FILE--
1111
<?php
12-
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
12+
$p = new Phar(dirname(__FILE__) . '/phar_begin_setstub_commit.phar', 0, 'phar_begin_setstub_commit.phar');
1313
//var_dump($p->getStub());
1414
var_dump($p->isBuffering());
1515
$p->startBuffering();
1616
var_dump($p->isBuffering());
1717
$p['a.php'] = '<?php var_dump("Hello");';
18-
$p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
19-
include 'phar://brandnewphar.phar/a.php';
18+
$p->setStub('<?php var_dump("First"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>');
19+
include 'phar://phar_begin_setstub_commit.phar/a.php';
2020
var_dump($p->getStub());
2121
$p['b.php'] = '<?php var_dump("World");';
22-
$p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER();');
23-
include 'phar://brandnewphar.phar/b.php';
22+
$p->setStub('<?php var_dump("Second"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER();');
23+
include 'phar://phar_begin_setstub_commit.phar/b.php';
2424
var_dump($p->getStub());
2525
$p->stopBuffering();
2626
echo "===COMMIT===\n";
2727
var_dump($p->isBuffering());
28-
include 'phar://brandnewphar.phar/a.php';
29-
include 'phar://brandnewphar.phar/b.php';
28+
include 'phar://phar_begin_setstub_commit.phar/a.php';
29+
include 'phar://phar_begin_setstub_commit.phar/b.php';
3030
var_dump($p->getStub());
3131
?>
3232
===DONE===
3333
--CLEAN--
3434
<?php
35-
unlink(dirname(__FILE__) . '/brandnewphar.phar');
35+
unlink(dirname(__FILE__) . '/phar_begin_setstub_commit.phar');
3636
?>
37-
--EXPECT--
37+
--EXPECTF--
3838
bool(false)
3939
bool(true)
4040
string(5) "Hello"
41-
string(84) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
41+
string(%d) "<?php var_dump("First"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>
4242
"
4343
string(5) "World"
44-
string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
44+
string(%d) "<?php var_dump("Second"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>
4545
"
4646
===COMMIT===
4747
bool(false)
4848
string(5) "Hello"
4949
string(5) "World"
50-
string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
50+
string(%d) "<?php var_dump("Second"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>
5151
"
5252
===DONE===

ext/phar/tests/phar_commitwrite.phpt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,24 @@ phar.require_hash=0
77
phar.readonly=0
88
--FILE--
99
<?php
10-
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
10+
$p = new Phar(dirname(__FILE__) . '/phar_commitwrite.phar', 0, 'phar_commitwrite.phar');
1111
$p['file1.txt'] = 'hi';
1212
$p->stopBuffering();
1313
var_dump(strlen($p->getStub()));
1414
$p->setStub("<?php
1515
spl_autoload_register(function(\$class) {
1616
include 'phar://' . str_replace('_', '/', \$class);
1717
});
18-
Phar::mapPhar('brandnewphar.phar');
19-
include 'phar://brandnewphar.phar/startup.php';
18+
Phar::mapPhar('phar_commitwrite.phar');
19+
include 'phar://phar_commitwrite.phar/startup.php';
2020
__HALT_COMPILER();
2121
?>");
2222
var_dump($p->getStub());
2323
?>
2424
===DONE===
2525
--CLEAN--
2626
<?php
27-
unlink(dirname(__FILE__) . '/brandnewphar.phar');
27+
unlink(dirname(__FILE__) . '/phar_commitwrite.phar');
2828
__HALT_COMPILER();
2929
?>
3030
--EXPECTF--
@@ -33,8 +33,8 @@ string(%d) "<?php
3333
spl_autoload_register(function($class) {
3434
include 'phar://' . str_replace('_', '/', $class);
3535
});
36-
Phar::mapPhar('brandnewphar.phar');
37-
include 'phar://brandnewphar.phar/startup.php';
36+
Phar::mapPhar('phar_commitwrite.phar');
37+
include 'phar://phar_commitwrite.phar/startup.php';
3838
__HALT_COMPILER(); ?>
3939
"
4040
===DONE===

ext/phar/tests/phar_create_in_cwd.phpt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ phar.readonly=0
99
<?php
1010
chdir(dirname(__FILE__));
1111
try {
12-
$p = new Phar('brandnewphar.phar');
12+
$p = new Phar('phar_create_in_cwd.phar');
1313
$p['file1.txt'] = 'hi';
1414
var_dump(strlen($p->getStub()));
1515
$p->setStub("<?php
1616
spl_autoload_register(function(\$class) {
1717
include 'phar://' . str_replace('_', '/', \$class);
1818
});
19-
Phar::mapPhar('brandnewphar.phar');
20-
include 'phar://brandnewphar.phar/startup.php';
19+
Phar::mapPhar('phar_create_in_cwd.phar');
20+
include 'phar://phar_create_in_cwd.phar/startup.php';
2121
__HALT_COMPILER();
2222
?>");
2323
var_dump($p->getStub());
@@ -28,16 +28,16 @@ __HALT_COMPILER();
2828
===DONE===
2929
--CLEAN--
3030
<?php
31-
unlink(dirname(__FILE__) . '/brandnewphar.phar');
31+
unlink(dirname(__FILE__) . '/phar_create_in_cwd.phar');
3232
?>
3333
--EXPECTF--
3434
int(6641)
3535
string(%d) "<?php
3636
spl_autoload_register(function($class) {
3737
include 'phar://' . str_replace('_', '/', $class);
3838
});
39-
Phar::mapPhar('brandnewphar.phar');
40-
include 'phar://brandnewphar.phar/startup.php';
39+
Phar::mapPhar('phar_create_in_cwd.phar');
40+
include 'phar://phar_create_in_cwd.phar/startup.php';
4141
__HALT_COMPILER(); ?>
4242
"
4343
===DONE===

ext/phar/tests/phar_setsignaturealgo1.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ phar.require_hash=0
99
phar.readonly=0
1010
--FILE--
1111
<?php
12-
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
12+
$p = new Phar(dirname(__FILE__) . '/phar_setsignaturealgo1.phar', 0, 'phar_setsignaturealgo1.phar');
1313
$p['file1.txt'] = 'hi';
1414
var_dump($p->getSignature());
1515
$p->setSignatureAlgorithm(Phar::MD5);
@@ -38,7 +38,7 @@ echo $e->getMessage();
3838
===DONE===
3939
--CLEAN--
4040
<?php
41-
unlink(dirname(__FILE__) . '/brandnewphar.phar');
41+
unlink(dirname(__FILE__) . '/phar_setsignaturealgo1.phar');
4242
?>
4343
--EXPECTF--
4444
array(2) {

ext/phar/tests/tar/phar_begin_setstub_commit.phpt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,46 +8,46 @@ if (!extension_loaded("phar")) die("skip");
88
phar.readonly=0
99
--FILE--
1010
<?php
11-
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar.tar', 0, 'brandnewphar.phar');
11+
$p = new Phar(dirname(__FILE__) . '/phar_begin_setstub_commit.phar.tar', 0, 'phar_begin_setstub_commit.phar');
1212
var_dump($p->isFileFormat(Phar::TAR));
1313
//var_dump($p->getStub());
1414
var_dump($p->isBuffering());
1515
$p->startBuffering();
1616
var_dump($p->isBuffering());
1717
$p['a.php'] = '<?php var_dump("Hello");';
18-
$p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
19-
include 'phar://brandnewphar.phar/a.php';
18+
$p->setStub('<?php var_dump("First"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>');
19+
include 'phar://phar_begin_setstub_commit.phar/a.php';
2020
var_dump($p->getStub());
2121
$p['b.php'] = '<?php var_dump("World");';
22-
$p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER();');
23-
include 'phar://brandnewphar.phar/b.php';
22+
$p->setStub('<?php var_dump("Second"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER();');
23+
include 'phar://phar_begin_setstub_commit.phar/b.php';
2424
var_dump($p->getStub());
2525
$p->stopBuffering();
2626
echo "===COMMIT===\n";
2727
var_dump($p->isBuffering());
28-
include 'phar://brandnewphar.phar/a.php';
29-
include 'phar://brandnewphar.phar/b.php';
28+
include 'phar://phar_begin_setstub_commit.phar/a.php';
29+
include 'phar://phar_begin_setstub_commit.phar/b.php';
3030
var_dump($p->getStub());
3131
?>
3232
===DONE===
3333
--CLEAN--
3434
<?php
35-
unlink(dirname(__FILE__) . '/brandnewphar.phar.tar');
35+
unlink(dirname(__FILE__) . '/phar_begin_setstub_commit.phar.tar');
3636
?>
37-
--EXPECT--
37+
--EXPECTF--
3838
bool(true)
3939
bool(false)
4040
bool(true)
4141
string(5) "Hello"
42-
string(84) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
42+
string(%d) "<?php var_dump("First"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>
4343
"
4444
string(5) "World"
45-
string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
45+
string(%d) "<?php var_dump("Second"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>
4646
"
4747
===COMMIT===
4848
bool(false)
4949
string(5) "Hello"
5050
string(5) "World"
51-
string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
51+
string(%d) "<?php var_dump("Second"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>
5252
"
5353
===DONE===

ext/phar/tests/tar/phar_commitwrite.phpt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ phar.require_hash=0
77
phar.readonly=0
88
--FILE--
99
<?php
10-
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar.tar', 0, 'brandnewphar.phar');
10+
$p = new Phar(dirname(__FILE__) . '/phar_commitwrite.phar.tar', 0, 'phar_commitwrite.phar');
1111
$p['file1.txt'] = 'hi';
1212
$p->stopBuffering();
1313
var_dump($p->getStub());
1414
$p->setStub("<?php
1515
spl_autoload_register(function(\$class) {
1616
include 'phar://' . str_replace('_', '/', \$class);
1717
});
18-
Phar::mapPhar('brandnewphar.phar');
19-
include 'phar://brandnewphar.phar/startup.php';
18+
Phar::mapPhar('phar_commitwrite.phar');
19+
include 'phar://phar_commitwrite.phar/startup.php';
2020
__HALT_COMPILER();
2121
?>");
2222
var_dump($p->getStub());
@@ -25,7 +25,7 @@ var_dump($p->isFileFormat(Phar::TAR));
2525
===DONE===
2626
--CLEAN--
2727
<?php
28-
unlink(dirname(__FILE__) . '/brandnewphar.phar.tar');
28+
unlink(dirname(__FILE__) . '/phar_commitwrite.phar.tar');
2929
?>
3030
--EXPECTF--
3131
string(60) "<?php // tar-based phar archive stub file
@@ -34,8 +34,8 @@ string(%d) "<?php
3434
spl_autoload_register(function($class) {
3535
include 'phar://' . str_replace('_', '/', $class);
3636
});
37-
Phar::mapPhar('brandnewphar.phar');
38-
include 'phar://brandnewphar.phar/startup.php';
37+
Phar::mapPhar('phar_commitwrite.phar');
38+
include 'phar://phar_commitwrite.phar/startup.php';
3939
__HALT_COMPILER(); ?>
4040
"
4141
bool(true)

ext/phar/tests/zip/phar_begin_setstub_commit.phpt

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,34 +8,34 @@ if (!extension_loaded("phar")) die("skip");
88
phar.readonly=0
99
--FILE--
1010
<?php
11-
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar.zip', 0, 'brandnewphar.phar');
11+
$p = new Phar(dirname(__FILE__) . '/phar_begin_setstub_commit.phar.zip', 0, 'phar_begin_setstub_commit.phar');
1212
var_dump($p->isFileFormat(Phar::ZIP));
1313
//var_dump($p->getStub());
1414
var_dump($p->isBuffering());
1515
$p->startBuffering();
1616
var_dump($p->isBuffering());
1717
$p['a.php'] = '<?php var_dump("Hello");';
18-
$p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
19-
include 'phar://brandnewphar.phar/a.php';
18+
$p->setStub('<?php var_dump("First"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>');
19+
include 'phar://phar_begin_setstub_commit.phar/a.php';
2020
var_dump($p->getStub());
2121
$p['b.php'] = '<?php var_dump("World");';
22-
$p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER();');
23-
include 'phar://brandnewphar.phar/b.php';
22+
$p->setStub('<?php var_dump("Second"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER();');
23+
include 'phar://phar_begin_setstub_commit.phar/b.php';
2424
var_dump($p->getStub());
2525
$p->stopBuffering();
2626
echo "===COMMIT===\n";
2727
var_dump($p->isBuffering());
28-
include 'phar://brandnewphar.phar/a.php';
29-
include 'phar://brandnewphar.phar/b.php';
28+
include 'phar://phar_begin_setstub_commit.phar/a.php';
29+
include 'phar://phar_begin_setstub_commit.phar/b.php';
3030
var_dump($p->getStub());
3131

3232
// add portion to test setting stub from resource
33-
file_put_contents(dirname(__FILE__) . '/myfakestub.php', '<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
33+
file_put_contents(dirname(__FILE__) . '/myfakestub.php', '<?php var_dump("First resource"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>');
3434
$a = fopen(dirname(__FILE__) . '/myfakestub.php', 'rb');
3535
$p->setStub($a);
3636
var_dump($p->getStub());
37-
$c = strlen('<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
38-
file_put_contents(dirname(__FILE__) . '/myfakestub.php', '<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>' . 'extra stuff');
37+
$c = strlen('<?php var_dump("First resource"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>');
38+
file_put_contents(dirname(__FILE__) . '/myfakestub.php', '<?php var_dump("First resource"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>' . 'extra stuff');
3939
fseek($a, 0);
4040
$p->setStub($a, $c);
4141
var_dump($p->getStub());
@@ -44,27 +44,27 @@ fclose($a);
4444
===DONE===
4545
--CLEAN--
4646
<?php
47-
unlink(dirname(__FILE__) . '/brandnewphar.phar.zip');
47+
unlink(dirname(__FILE__) . '/phar_begin_setstub_commit.phar.zip');
4848
unlink(dirname(__FILE__) . '/myfakestub.php');
4949
?>
50-
--EXPECT--
50+
--EXPECTF--
5151
bool(true)
5252
bool(false)
5353
bool(true)
5454
string(5) "Hello"
55-
string(84) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
55+
string(%d) "<?php var_dump("First"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>
5656
"
5757
string(5) "World"
58-
string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
58+
string(%d) "<?php var_dump("Second"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>
5959
"
6060
===COMMIT===
6161
bool(false)
6262
string(5) "Hello"
6363
string(5) "World"
64-
string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
64+
string(%d) "<?php var_dump("Second"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>
6565
"
66-
string(93) "<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
66+
string(%d) "<?php var_dump("First resource"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>
6767
"
68-
string(93) "<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
68+
string(%d) "<?php var_dump("First resource"); Phar::mapPhar("phar_begin_setstub_commit.phar"); __HALT_COMPILER(); ?>
6969
"
7070
===DONE===

ext/phar/tests/zip/phar_commitwrite.phpt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ phar.require_hash=0
77
phar.readonly=0
88
--FILE--
99
<?php
10-
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar.zip', 0, 'brandnewphar.phar');
10+
$p = new Phar(dirname(__FILE__) . '/phar_commitwrite.phar.zip', 0, 'phar_commitwrite.phar');
1111
$p['file1.txt'] = 'hi';
1212
$p->stopBuffering();
1313
var_dump($p->getStub());
1414
$p->setStub("<?php
1515
spl_autoload_register(function(\$class) {
1616
include 'phar://' . str_replace('_', '/', \$class);
1717
});
18-
Phar::mapPhar('brandnewphar.phar');
19-
include 'phar://brandnewphar.phar/startup.php';
18+
Phar::mapPhar('phar_commitwrite.phar');
19+
include 'phar://phar_commitwrite.phar/startup.php';
2020
__HALT_COMPILER();
2121
?>");
2222
var_dump($p->getStub());
@@ -25,7 +25,7 @@ var_dump($p->isFileFormat(Phar::ZIP));
2525
===DONE===
2626
--CLEAN--
2727
<?php
28-
unlink(dirname(__FILE__) . '/brandnewphar.phar.zip');
28+
unlink(dirname(__FILE__) . '/phar_commitwrite.phar.zip');
2929
?>
3030
--EXPECTF--
3131
string(60) "<?php // zip-based phar archive stub file
@@ -34,8 +34,8 @@ string(%d) "<?php
3434
spl_autoload_register(function($class) {
3535
include 'phar://' . str_replace('_', '/', $class);
3636
});
37-
Phar::mapPhar('brandnewphar.phar');
38-
include 'phar://brandnewphar.phar/startup.php';
37+
Phar::mapPhar('phar_commitwrite.phar');
38+
include 'phar://phar_commitwrite.phar/startup.php';
3939
__HALT_COMPILER(); ?>
4040
"
4141
bool(true)

0 commit comments

Comments
 (0)