cvs: php4 /ext/standard file.c /main php_streams.h /main/streams xp_socket.c
| From: | Wez Furlong | Date: | Thu, 27 Feb 2003 19:10:24 +0000 |
| Subject: | cvs: php4 /ext/standard file.c /main php_streams.h /main/streams xp_socket.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-19246@lists.php.net to get a copy of this message | ||
wez Thu Feb 27 14:10:24 2003 EDT
Modified files:
/php4/ext/standard file.c
/php4/main php_streams.h
/php4/main/streams xp_socket.c
Log:
Add a generic meta data api for streams.
Index: php4/ext/standard/file.c
diff -u php4/ext/standard/file.c:1.317 php4/ext/standard/file.c:1.318
--- php4/ext/standard/file.c:1.317 Thu Feb 27 13:16:34 2003
+++ php4/ext/standard/file.c Thu Feb 27 14:10:22 2003
@@ -21,7 +21,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: file.c,v 1.317 2003/02/27 18:16:34 wez Exp $ */
+/* $Id: file.c,v 1.318 2003/02/27 19:10:22 wez Exp $ */
/* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */
@@ -646,22 +646,12 @@
#endif
add_assoc_long(return_value, "unread_bytes", stream->writepos - stream->readpos);
-
-#if 0
- if (php_stream_is(stream, PHP_STREAM_IS_SOCKET)) {
- php_netstream_data_t *sock = PHP_NETSTREAM_DATA_FROM_STREAM(stream);
-
- add_assoc_bool(return_value, "timed_out", sock->timeout_event);
- add_assoc_bool(return_value, "blocked", sock->is_blocked);
- add_assoc_bool(return_value, "eof", stream->eof);
- } else {
-#endif
+
+ if (!php_stream_populate_meta_data(stream, return_value)) {
add_assoc_bool(return_value, "timed_out", 0);
add_assoc_bool(return_value, "blocked", 1);
add_assoc_bool(return_value, "eof", php_stream_eof(stream));
-#if 0
}
-#endif
}
/* }}} */
Index: php4/main/php_streams.h
diff -u php4/main/php_streams.h:1.75 php4/main/php_streams.h:1.76
--- php4/main/php_streams.h:1.75 Thu Feb 27 12:43:37 2003
+++ php4/main/php_streams.h Thu Feb 27 14:10:23 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_streams.h,v 1.75 2003/02/27 17:43:37 wez Exp $ */
+/* $Id: php_streams.h,v 1.76 2003/02/27 19:10:23 wez Exp $ */
#ifndef PHP_STREAMS_H
#define PHP_STREAMS_H
@@ -348,6 +348,9 @@
PHPAPI int _php_stream_truncate_set_size(php_stream *stream, size_t newsize TSRMLS_DC);
#define php_stream_truncate_set_size(stream, size) _php_stream_truncate_set_size((stream), (size)
TSRMLS_CC)
+
+#define PHP_STREAM_OPTION_META_DATA_API 11 /* ptrparam is a zval* to which to add meta data
information */
+#define php_stream_populate_meta_data(stream, zv) (_php_stream_set_option((stream),
PHP_STREAM_OPTION_META_DATA_API, 0, zv TSRMLS_CC) == PHP_STREAM_OPTION_RETURN_OK ? 1 : 0)
#define PHP_STREAM_OPTION_RETURN_OK 0 /* option set OK */
#define PHP_STREAM_OPTION_RETURN_ERR -1 /* problem setting option */
Index: php4/main/streams/xp_socket.c
diff -u php4/main/streams/xp_socket.c:1.2 php4/main/streams/xp_socket.c:1.3
--- php4/main/streams/xp_socket.c:1.2 Thu Feb 27 13:06:30 2003
+++ php4/main/streams/xp_socket.c Thu Feb 27 14:10:24 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: xp_socket.c,v 1.2 2003/02/27 18:06:30 wez Exp $ */
+/* $Id: xp_socket.c,v 1.3 2003/02/27 19:10:24 wez Exp $ */
#include "php.h"
#include "ext/standard/file.h"
@@ -201,6 +201,12 @@
case PHP_STREAM_OPTION_READ_TIMEOUT:
sock->timeout = *(struct timeval*)ptrparam;
sock->timeout_event = 0;
+ return PHP_STREAM_OPTION_RETURN_OK;
+
+ case PHP_STREAM_OPTION_META_DATA_API:
+ add_assoc_bool((zval *)ptrparam, "timed_out", sock->timeout_event);
+ add_assoc_bool((zval *)ptrparam, "blocked", sock->is_blocked);
+ add_assoc_bool((zval *)ptrparam, "eof", stream->eof);
return PHP_STREAM_OPTION_RETURN_OK;
case PHP_STREAM_OPTION_XPORT_API: