moriyoshi Tue Feb 18 10:15:22 2003 EDT Modified files: /php4/ext/standard file.c Log: Fixed bug #21689 (fgetcsv suppresses some characters before a separator) The fix is suggested by Masahiro Nakayama <[EMAIL PROTECTED]> # is* functions expect their argument to be an integer in range of 0-255 Index: php4/ext/standard/file.c diff -u php4/ext/standard/file.c:1.306 php4/ext/standard/file.c:1.307 --- php4/ext/standard/file.c:1.306 Mon Feb 17 21:53:24 2003 +++ php4/ext/standard/file.c Tue Feb 18 10:15:22 2003 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: file.c,v 1.306 2003/02/18 02:53:24 pollita Exp $ */ +/* $Id: file.c,v 1.307 2003/02/18 15:15:22 moriyoshi Exp $ */ /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */ @@ -2529,7 +2529,7 @@ lineEnd = emalloc(len + 1); bptr = buf; tptr = buf + strlen(buf) -1; - while ( isspace((int) *tptr) && (*tptr!=delimiter) && (tptr > bptr) ) tptr--; + while ( isspace((int)*(unsigned char *)tptr) && (*tptr!=delimiter) && (tptr > +bptr) ) tptr--; tptr++; strcpy(lineEnd, tptr); @@ -2551,7 +2551,7 @@ do { /* 1. Strip any leading space */ - while(isspace((int) *bptr) && (*bptr!=delimiter)) bptr++; + while(isspace((int)*(unsigned char *)bptr) && (*bptr!=delimiter)) +bptr++; /* 2. Read field, leaving bptr pointing at start of next field */ if (enclosure && *bptr == enclosure) { bptr++; /* move on to first character in field */ @@ -2600,7 +2600,7 @@ temp = erealloc(temp, temp_len+1); bptr = buf; tptr = buf + strlen(buf) -1; - while (isspace((int) *tptr) && (*tptr!=delimiter) && (tptr > bptr)) + while (isspace((int)*(unsigned char +*)tptr) && (*tptr!=delimiter) && (tptr > bptr)) tptr--; tptr++; strcpy(lineEnd, tptr); @@ -2621,7 +2621,7 @@ if (strlen(temp)) { tptr--; - while (isspace((int)*tptr) && (*tptr!=delimiter)) + while (isspace((int)*(unsigned char *)tptr) && +(*tptr!=delimiter)) *tptr-- = 0; /* strip any trailing spaces */ }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php