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));
+
[EMAIL PROTECTED]($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>"));
+}
+
[EMAIL PROTECTED]($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

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to