summaryrefslogtreecommitdiff
path: root/ext/standard/tests/file/ftruncate_bug76803.phpt
blob: df7136f1ca862735017fe7c5940aa60f4ec3e5ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
--TEST--
Bug #76803 ftruncate changes file pointer
--FILE--
<?php

$fn = __DIR__ . DIRECTORY_SEPARATOR . "test76803";

$f = fopen($fn, "w");
fwrite($f, "Hello");
ftruncate($f, 2);
fwrite($f, "World");
fclose($f);
var_dump(addslashes(file_get_contents($fn)));

$f = fopen($fn, "w");
fwrite($f, "Hello");
ftruncate($f, 2);
fclose($f);
var_dump(addslashes(file_get_contents($fn)));

$f = fopen('php://memory', 'w+');
fwrite($f, 'Hello');
ftruncate($f, 2); // in 7.3 changes file pointer to 2
fwrite($f, 'World');
rewind($f);
var_dump(addslashes(stream_get_contents($f)));
fclose($f);

?>
--CLEAN--
<?php
$fn = __DIR__ . DIRECTORY_SEPARATOR . "test76803";
unlink($fn);
?>
--EXPECT--
string(13) "He\0\0\0World"
string(2) "He"
string(7) "HeWorld"