cvs: php-src /ext/standard file.c /ext/standard/tests/file fgetss.phpt fgetss1.phpt

From: Date: Thu, 07 Dec 2006 23:00:46 +0000
Subject: cvs: php-src /ext/standard file.c /ext/standard/tests/file fgetss.phpt fgetss1.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-41972@lists.php.net to get a copy of this message
tony2001 Thu Dec 7 23:00:46 2006 UTC Modified files: /php-src/ext/standard file.c /php-src/ext/standard/tests/file fgetss.phpt fgetss1.phpt Log: MFB tests (they still fail though) fix BC in fgetss() http://cvs.php.net/viewvc.cgi/php-src/ext/standard/file.c?r1=1.473&r2=1.474&diff_format=u Index: php-src/ext/standard/file.c diff -u php-src/ext/standard/file.c:1.473 php-src/ext/standard/file.c:1.474 --- php-src/ext/standard/file.c:1.473 Thu Dec 7 09:51:36 2006 +++ php-src/ext/standard/file.c Thu Dec 7 23:00:45 2006 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: file.c,v 1.473 2006/12/07 09:51:36 pollita Exp $ */ +/* $Id: file.c,v 1.474 2006/12/07 23:00:45 tony2001 Exp $ */ /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */ @@ -1196,6 +1196,11 @@ php_stream_from_zval(stream, &zstream); + if (length > 0) { + /* For BC reasons, fgetss() should only return length-1 bytes. */ + length--; + } + if (stream->readbuf_type == IS_UNICODE) { UChar *buf = php_stream_get_line_ex(stream, IS_UNICODE, NULL_ZSTR, 0, length, &retlen); UChar *allowed = NULL; http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss.phpt:1.2 --- /dev/null Thu Dec 7 23:00:46 2006 +++ php-src/ext/standard/tests/file/fgetss.phpt Thu Dec 7 23:00:45 2006 @@ -0,0 +1,83 @@ +--TEST-- +fgetss() tests +--FILE-- +<?php + +$filename = dirname(__FILE__)."/fgetss.html"; + +$array = array( + "askasdfasdf<b>aaaaaa\n</b>dddddd", + "asdqw<i onClick=\"hello();\">\naaaa<>qqqq", + "aaa<script>function foo() {}</script>qqq", + "asdasd<a\n asdjeje", + "", + "some text \n<b>blah</i>", + "some another text <> hoho </>" + ); + +foreach ($array as $str) { + file_put_contents($filename, $str); + $fp = fopen($filename, "r"); + var_dump(fgetss($fp)); + var_dump(fgetss($fp)); +} + +foreach ($array as $str) { + file_put_contents($filename, $str); + $fp = fopen($filename, "r"); + var_dump(fgetss($fp, 10)); + var_dump(fgetss($fp, 10)); +} + +var_dump(fgetss($fp, -10)); +var_dump(fgetss($fp, 0)); +fclose($fp); +var_dump(fgetss($fp, 0)); + +@unlink($filename); + +echo "Done\n"; +?> +--EXPECTF-- +string(18) "askasdfasdfaaaaaa +" +string(6) "dddddd" +string(6) "asdqw +" +string(8) "aaaaqqqq" +string(23) "aaafunction foo() {}qqq" +bool(false) +string(6) "asdasd" +string(0) "" +bool(false) +bool(false) +string(11) "some text +" +string(4) "blah" +string(24) "some another text hoho " +bool(false) +string(9) "askasdfas" +string(6) "dfaaaa" +string(5) "asdqw" +string(0) "" +string(3) "aaa" +string(7) "functio" +string(6) "asdasd" +string(0) "" +bool(false) +bool(false) +string(9) "some text" +string(2) " +" +string(9) "some anot" +string(9) "her text " + +Warning: fgetss(): Length parameter must be greater than 0 in %s on line %d +bool(false) + +Warning: fgetss(): Length parameter must be greater than 0 in %s on line %d +bool(false) + +Warning: fgetss(): %d is not a valid stream resource in %s on line %d +bool(false) +Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss1.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss1.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss1.phpt:1.2 --- /dev/null Thu Dec 7 23:00:46 2006 +++ php-src/ext/standard/tests/file/fgetss1.phpt Thu Dec 7 23:00:45 2006 @@ -0,0 +1,69 @@ +--TEST-- +more fgetss() tests +--FILE-- +<?php + +$filename = dirname(__FILE__)."/fgetss1.html"; + +$array = array( + "askasdfasdf<b>aaaaaa\n</b>dddddd", + "asdqw<i onClick=\"hello();\">\naaaa<>qqqq", + "aaa<script>function foo() {}</script>qqq", + "asdasd<a\n asdjeje", + "", + "some text \n<b>blah</i>", + "some another text <> hoho </>" + ); + +foreach ($array as $str) { + file_put_contents($filename, $str); + $fp = fopen($filename, "r"); + var_dump(fgetss($fp, 1000, "<i>,<b>,<a>")); + var_dump(fgetss($fp)); +} + +foreach ($array as $str) { + file_put_contents($filename, $str); + $fp = fopen($filename, "r"); + var_dump(fgetss($fp, 10)); + var_dump(fgetss($fp, 10, "<script>,<a>")); +} + +@unlink($filename); + +echo "Done\n"; +?> +--EXPECTF-- +string(21) "askasdfasdf<b>aaaaaa +" +string(6) "dddddd" +string(28) "asdqw<i onClick="hello();"> +" +string(8) "aaaaqqqq" +string(23) "aaafunction foo() {}qqq" +bool(false) +string(6) "asdasd" +string(0) "" +bool(false) +bool(false) +string(11) "some text +" +string(4) "blah" +string(24) "some another text hoho " +bool(false) +string(9) "askasdfas" +string(6) "dfaaaa" +string(5) "asdqw" +string(0) "" +string(3) "aaa" +string(9) "t>functio" +string(6) "asdasd" +string(0) "" +bool(false) +bool(false) +string(9) "some text" +string(2) " +" +string(9) "some anot" +string(9) "her text " +Done

« previous php.cvs (#41972) next »