pollita Fri Jul 14 20:50:45 2006 UTC
Modified files:
/php-src/ext/standard file.c
Log:
#38105 (4/3) ustrlen != USTRLEN, update variable names used to keep this
block's meaning clear
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/file.c?r1=1.446&r2=1.447&diff_format=u
Index: php-src/ext/standard/file.c
diff -u php-src/ext/standard/file.c:1.446 php-src/ext/standard/file.c:1.447
--- php-src/ext/standard/file.c:1.446 Fri Jul 14 20:45:37 2006
+++ php-src/ext/standard/file.c Fri Jul 14 20:50:45 2006
@@ -21,7 +21,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: file.c,v 1.446 2006/07/14 20:45:37 tony2001 Exp $ */
+/* $Id: file.c,v 1.447 2006/07/14 20:50:45 pollita Exp $ */
/* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */
@@ -697,12 +697,14 @@
case IS_UNICODE:
if (Z_USTRLEN_P(data)) {
int ustrlen = u_countChar32(Z_USTRVAL_P(data),
Z_USTRLEN_P(data));
- numchars = php_stream_write_unicode(stream,
Z_USTRVAL_P(data), Z_USTRLEN_P(data));
- if (numchars < 0) {
+ int wrote_u16 =
php_stream_write_unicode(stream, Z_USTRVAL_P(data), Z_USTRLEN_P(data));
+
+ numchars = ustrlen;
+ if (wrote_u16 < 0) {
php_error_docref(NULL TSRMLS_CC,
E_WARNING, "Failed to write %d characters to %s", ustrlen, filename);
numchars = -1;
- } else if (numchars != ustrlen) {
- int written_numchars =
u_countChar32(Z_USTRVAL_P(data), numchars);
+ } else if (wrote_u16 != Z_USTRLEN_P(data)) {
+ int written_numchars =
u_countChar32(Z_USTRVAL_P(data), wrote_u16);
php_error_docref(NULL TSRMLS_CC,
E_WARNING, "Only %d of %d characters written, possibly out of free disk space",
written_numchars, ustrlen);
numchars = -1;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php