wez Fri Oct 18 08:15:04 2002 EDT
Modified files:
/php4/main streams.c network.c
Log:
Improve EOF detection. Fixes #19970.
Index: php4/main/streams.c
diff -u php4/main/streams.c:1.108 php4/main/streams.c:1.109
--- php4/main/streams.c:1.108 Tue Oct 15 12:45:26 2002
+++ php4/main/streams.c Fri Oct 18 08:15:04 2002
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: streams.c,v 1.108 2002/10/15 16:45:26 wez Exp $ */
+/* $Id: streams.c,v 1.109 2002/10/18 12:15:04 wez Exp $ */
#define _GNU_SOURCE
#include "php.h"
@@ -1280,7 +1280,7 @@
if (data->fd >= 0) {
ret = read(data->fd, buf, count);
- if (ret == 0 || (ret < 0 && errno != EWOULDBLOCK))
+ if (ret == 0 || (ret < count && errno != EWOULDBLOCK))
stream->eof = 1;
} else {
@@ -1673,7 +1673,7 @@
static int stream_cookie_seeker(void *cookie, fpos_t *position, int whence)
{
TSRMLS_FETCH();
-
+
*position = php_stream_seek((php_stream *)cookie, *position, whence);
if (*position == -1)
@@ -1684,7 +1684,6 @@
static int stream_cookie_seeker(void *cookie, off_t position, int whence)
{
TSRMLS_FETCH();
-
return php_stream_seek((php_stream *)cookie, position, whence);
}
#endif
Index: php4/main/network.c
diff -u php4/main/network.c:1.78 php4/main/network.c:1.79
--- php4/main/network.c:1.78 Sun Oct 13 21:27:43 2002
+++ php4/main/network.c Fri Oct 18 08:15:04 2002
@@ -16,7 +16,7 @@
| Streams work by Wez Furlong <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: network.c,v 1.78 2002/10/14 01:27:43 wez Exp $ */
+/* $Id: network.c,v 1.79 2002/10/18 12:15:04 wez Exp $ */
/*#define DEBUG_MAIN_NETWORK 1*/
@@ -940,7 +940,7 @@
nr_bytes = recv(sock->socket, buf, count, 0);
- if (nr_bytes == 0 || (nr_bytes < 0 && php_socket_errno() !=
EWOULDBLOCK)) {
+ if (nr_bytes == 0 || (nr_bytes < count && php_socket_errno() !=
+EWOULDBLOCK)) {
stream->eof = 1;
}
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php