cvs: php4 /ext/standard file.c

From: Date: Sun, 15 Apr 2001 18:42:51 +0000
Subject: cvs: php4 /ext/standard file.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-5121@lists.php.net to get a copy of this message
sasha Sun Apr 15 11:42:51 2001 EDT Modified files: /php4/ext/standard file.c Log: We shoud not fseek in a pipe and this caused a problem with popen and fgets on the platforms where the buffer fix was applied (Solaris, FreeBSD). Now the fseek is done only when the handle is of type fopen. Index: php4/ext/standard/file.c diff -u php4/ext/standard/file.c:1.150 php4/ext/standard/file.c:1.151 --- php4/ext/standard/file.c:1.150 Sat Apr 7 14:46:43 2001 +++ php4/ext/standard/file.c Sun Apr 15 11:42:50 2001 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: file.c,v 1.150 2001/04/07 21:46:43 sniper Exp $ */ +/* $Id: file.c,v 1.151 2001/04/15 18:42:50 sasha Exp $ */ /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */ @@ -921,7 +921,7 @@ /* needed because recv doesnt put a null at the end*/ memset(buf,0,len+1); #ifdef HAVE_FLUSHIO - if (!issock) { + if (type == le_fopen) { fseek((FILE*)what, 0, SEEK_CUR); } #endif @@ -969,7 +969,7 @@ } #ifdef HAVE_FLUSHIO - if (!issock) { + if (type == le_fopen) { fseek((FILE*)what, 0, SEEK_CUR); } #endif @@ -1172,7 +1172,9 @@ ret = SOCK_WRITEL((*arg2)->value.str.val,num_bytes,socketd); } else { #ifdef HAVE_FLUSHIO - fseek((FILE*)what, 0, SEEK_CUR); + if (type == le_fopen) { + fseek((FILE*)what, 0, SEEK_CUR); + } #endif ret = fwrite((*arg2)->value.str.val,1,num_bytes,(FILE*)what); } @@ -1814,7 +1816,9 @@ if (!issock) { #ifdef HAVE_FLUSHIO - fseek((FILE*)what, 0, SEEK_CUR); + if (type == le_fopen) + fseek((FILE*)what, 0, SEEK_CUR); + } #endif return_value->value.str.len = fread(return_value->value.str.val, 1, len, (FILE*)what); return_value->value.str.val[return_value->value.str.len] = 0;

« previous php.cvs (#5121) next »