prepare v2.2.3
[m6w6/ext-pq] / src / php_pqlob.c
index f183337c361de0cf04fad89eb61f6f86f615368e..a419390119d1f7aa23b0e63f38f305b517b54da6 100644 (file)
@@ -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);
 }