X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pqlob.c;h=0cb44a896875669ca4b4f5e42359117252b9a7a8;hp=f183337c361de0cf04fad89eb61f6f86f615368e;hb=HEAD;hpb=d3e3e97737cda9dafbb17c9076251c09a92bdf78 diff --git a/src/php_pqlob.c b/src/php_pqlob.c index f183337..a419390 100644 --- a/src/php_pqlob.c +++ b/src/php_pqlob.c @@ -100,7 +100,11 @@ static void php_pqlob_object_read_stream(void *o, zval *return_value) RETVAL_ZVAL(&zstream, 1, 0); } +#if PHP_VERSION_ID < 70400 +static size_t php_pqlob_stream_write(php_stream *stream, const char *buffer, size_t length) +#else static ssize_t php_pqlob_stream_write(php_stream *stream, const char *buffer, size_t length) +#endif { php_pqlob_object_t *obj = stream->abstract; ssize_t written = 0; @@ -115,10 +119,18 @@ static ssize_t php_pqlob_stream_write(php_stream *stream, const char *buffer, si php_pqconn_notify_listeners(obj->intern->txn->intern->conn); } +#if PHP_VERSION_ID < 70400 + return (written < 0 ? 0 : written); +#else return written; +#endif } +#if PHP_VERSION_ID < 70400 +static size_t php_pqlob_stream_read(php_stream *stream, char *buffer, size_t length) +#else static ssize_t php_pqlob_stream_read(php_stream *stream, char *buffer, size_t length) +#endif { php_pqlob_object_t *obj = stream->abstract; ssize_t read = 0; @@ -140,7 +152,11 @@ static ssize_t php_pqlob_stream_read(php_stream *stream, char *buffer, size_t le php_pqconn_notify_listeners(obj->intern->txn->intern->conn); } +#if PHP_VERSION_ID < 70400 + return (read < 0 ? 0 : read); +#else return read; +#endif } static ZEND_RESULT_CODE php_pqlob_stream_close(php_stream *stream, int close_handle) @@ -153,7 +169,7 @@ static int php_pqlob_stream_flush(php_stream *stream) return SUCCESS; } -static ZEND_RESULT_CODE php_pqlob_stream_seek(php_stream *stream, off_t offset, int whence, off_t *newoffset) +static ZEND_RESULT_CODE php_pqlob_stream_seek(php_stream *stream, zend_off_t offset, int whence, zend_off_t *newoffset) { ZEND_RESULT_CODE rv = FAILURE; php_pqlob_object_t *obj = stream->abstract; @@ -202,10 +218,10 @@ static void php_pqlob_object_update_stream(php_pqlob_object_t *obj, zval *zstrea php_stream_to_zval(obj->intern->stream, zstream); #if PHP_VERSION_ID >= 80000 - zend_get_std_object_handlers()->write_property(&obj->zo, Z_STR(zmember), zstream, NULL); + zend_std_write_property(&obj->zo, Z_STR(zmember), zstream, NULL); #else ZVAL_OBJ(&zobj, &obj->zo); - zend_get_std_object_handlers()->write_property(&zobj, &zmember, zstream, NULL); + zend_std_write_property(&zobj, &zmember, zstream, NULL); #endif zval_ptr_dtor(&zmember); }