8
8
*/
9
9
10
10
#include " php_buffer.h"
11
+ #include " arginfo.h"
11
12
#include " Buffer.hpp"
12
13
13
14
#define GUARD_SIZE (b, s ) { if (guard_data_size (b, s) == false ) return ; }
@@ -663,58 +664,58 @@ PHP_METHOD(ByteBuffer, consumeDouble)
663
664
}
664
665
665
666
static zend_function_entry buffer_object_methods[] = {
666
- PHP_ME (ByteBuffer, __construct, NULL , ZEND_ACC_CTOR | ZEND_ACC_PUBLIC)
667
- PHP_ME (ByteBuffer, __toString, NULL , ZEND_ACC_PUBLIC)
668
- PHP_ME (ByteBuffer, bytes, NULL , ZEND_ACC_PUBLIC)
669
- PHP_ME (ByteBuffer, size, NULL , ZEND_ACC_PUBLIC)
670
- PHP_ME (ByteBuffer, empty, NULL , ZEND_ACC_PUBLIC)
671
- PHP_ME (ByteBuffer, append, NULL , ZEND_ACC_PUBLIC)
672
- PHP_ME (ByteBuffer, read, NULL , ZEND_ACC_PUBLIC)
673
- PHP_ME (ByteBuffer, consume, NULL , ZEND_ACC_PUBLIC)
674
- PHP_ME (ByteBuffer, discard, NULL , ZEND_ACC_PUBLIC)
675
- PHP_ME (ByteBuffer, slice, NULL , ZEND_ACC_PUBLIC)
676
- PHP_ME (ByteBuffer, shift, NULL , ZEND_ACC_PUBLIC)
677
- PHP_ME (ByteBuffer, flush, NULL , ZEND_ACC_PUBLIC)
667
+ PHP_ME (ByteBuffer, __construct, arginfo_construct , ZEND_ACC_CTOR | ZEND_ACC_PUBLIC)
668
+ PHP_ME (ByteBuffer, __toString, arginfo_empty , ZEND_ACC_PUBLIC)
669
+ PHP_ME (ByteBuffer, bytes, arginfo_empty , ZEND_ACC_PUBLIC)
670
+ PHP_ME (ByteBuffer, size, arginfo_empty , ZEND_ACC_PUBLIC)
671
+ PHP_ME (ByteBuffer, empty, arginfo_empty , ZEND_ACC_PUBLIC)
672
+ PHP_ME (ByteBuffer, append, arginfo_string , ZEND_ACC_PUBLIC)
673
+ PHP_ME (ByteBuffer, read, arginfo_read , ZEND_ACC_PUBLIC)
674
+ PHP_ME (ByteBuffer, consume, arginfo_count , ZEND_ACC_PUBLIC)
675
+ PHP_ME (ByteBuffer, discard, arginfo_count , ZEND_ACC_PUBLIC)
676
+ PHP_ME (ByteBuffer, slice, arginfo_read , ZEND_ACC_PUBLIC)
677
+ PHP_ME (ByteBuffer, shift, arginfo_count , ZEND_ACC_PUBLIC)
678
+ PHP_ME (ByteBuffer, flush, arginfo_empty , ZEND_ACC_PUBLIC)
678
679
// BOOL
679
- PHP_ME (ByteBuffer, appendBool, NULL , ZEND_ACC_PUBLIC)
680
- PHP_ME (ByteBuffer, readBool, NULL , ZEND_ACC_PUBLIC)
681
- PHP_ME (ByteBuffer, consumeBool, NULL , ZEND_ACC_PUBLIC)
680
+ PHP_ME (ByteBuffer, appendBool, arginfo_bool , ZEND_ACC_PUBLIC)
681
+ PHP_ME (ByteBuffer, readBool, arginfo_offset , ZEND_ACC_PUBLIC)
682
+ PHP_ME (ByteBuffer, consumeBool, arginfo_empty , ZEND_ACC_PUBLIC)
682
683
// INT 8
683
- PHP_ME (ByteBuffer, appendInt8, NULL , ZEND_ACC_PUBLIC)
684
- PHP_ME (ByteBuffer, readInt8, NULL , ZEND_ACC_PUBLIC)
685
- PHP_ME (ByteBuffer, consumeInt8, NULL , ZEND_ACC_PUBLIC)
686
- PHP_ME (ByteBuffer, appendUInt8, NULL , ZEND_ACC_PUBLIC)
687
- PHP_ME (ByteBuffer, readUInt8, NULL , ZEND_ACC_PUBLIC)
688
- PHP_ME (ByteBuffer, consumeUInt8, NULL , ZEND_ACC_PUBLIC)
684
+ PHP_ME (ByteBuffer, appendInt8, arginfo_int , ZEND_ACC_PUBLIC)
685
+ PHP_ME (ByteBuffer, readInt8, arginfo_offset , ZEND_ACC_PUBLIC)
686
+ PHP_ME (ByteBuffer, consumeInt8, arginfo_empty , ZEND_ACC_PUBLIC)
687
+ PHP_ME (ByteBuffer, appendUInt8, arginfo_int , ZEND_ACC_PUBLIC)
688
+ PHP_ME (ByteBuffer, readUInt8, arginfo_offset , ZEND_ACC_PUBLIC)
689
+ PHP_ME (ByteBuffer, consumeUInt8, arginfo_empty , ZEND_ACC_PUBLIC)
689
690
// INT 16
690
- PHP_ME (ByteBuffer, appendInt16, NULL , ZEND_ACC_PUBLIC)
691
- PHP_ME (ByteBuffer, readInt16, NULL , ZEND_ACC_PUBLIC)
692
- PHP_ME (ByteBuffer, consumeInt16, NULL , ZEND_ACC_PUBLIC)
693
- PHP_ME (ByteBuffer, appendUInt16, NULL , ZEND_ACC_PUBLIC)
694
- PHP_ME (ByteBuffer, readUInt16, NULL , ZEND_ACC_PUBLIC)
695
- PHP_ME (ByteBuffer, consumeUInt16, NULL , ZEND_ACC_PUBLIC)
691
+ PHP_ME (ByteBuffer, appendInt16, arginfo_int , ZEND_ACC_PUBLIC)
692
+ PHP_ME (ByteBuffer, readInt16, arginfo_offset , ZEND_ACC_PUBLIC)
693
+ PHP_ME (ByteBuffer, consumeInt16, arginfo_empty , ZEND_ACC_PUBLIC)
694
+ PHP_ME (ByteBuffer, appendUInt16, arginfo_int , ZEND_ACC_PUBLIC)
695
+ PHP_ME (ByteBuffer, readUInt16, arginfo_offset , ZEND_ACC_PUBLIC)
696
+ PHP_ME (ByteBuffer, consumeUInt16, arginfo_empty , ZEND_ACC_PUBLIC)
696
697
// INT 32
697
- PHP_ME (ByteBuffer, appendInt32, NULL , ZEND_ACC_PUBLIC)
698
- PHP_ME (ByteBuffer, readInt32, NULL , ZEND_ACC_PUBLIC)
699
- PHP_ME (ByteBuffer, consumeInt32, NULL , ZEND_ACC_PUBLIC)
700
- PHP_ME (ByteBuffer, appendUInt32, NULL , ZEND_ACC_PUBLIC)
701
- PHP_ME (ByteBuffer, readUInt32, NULL , ZEND_ACC_PUBLIC)
702
- PHP_ME (ByteBuffer, consumeUInt32, NULL , ZEND_ACC_PUBLIC)
698
+ PHP_ME (ByteBuffer, appendInt32, arginfo_int , ZEND_ACC_PUBLIC)
699
+ PHP_ME (ByteBuffer, readInt32, arginfo_offset , ZEND_ACC_PUBLIC)
700
+ PHP_ME (ByteBuffer, consumeInt32, arginfo_empty , ZEND_ACC_PUBLIC)
701
+ PHP_ME (ByteBuffer, appendUInt32, arginfo_int , ZEND_ACC_PUBLIC)
702
+ PHP_ME (ByteBuffer, readUInt32, arginfo_offset , ZEND_ACC_PUBLIC)
703
+ PHP_ME (ByteBuffer, consumeUInt32, arginfo_empty , ZEND_ACC_PUBLIC)
703
704
// INT 64
704
- PHP_ME (ByteBuffer, appendInt64, NULL , ZEND_ACC_PUBLIC)
705
- PHP_ME (ByteBuffer, readInt64, NULL , ZEND_ACC_PUBLIC)
706
- PHP_ME (ByteBuffer, consumeInt64, NULL , ZEND_ACC_PUBLIC)
707
- PHP_ME (ByteBuffer, appendUInt64, NULL , ZEND_ACC_PUBLIC)
708
- PHP_ME (ByteBuffer, readUInt64, NULL , ZEND_ACC_PUBLIC)
709
- PHP_ME (ByteBuffer, consumeUInt64, NULL , ZEND_ACC_PUBLIC)
705
+ PHP_ME (ByteBuffer, appendInt64, arginfo_int , ZEND_ACC_PUBLIC)
706
+ PHP_ME (ByteBuffer, readInt64, arginfo_offset , ZEND_ACC_PUBLIC)
707
+ PHP_ME (ByteBuffer, consumeInt64, arginfo_empty , ZEND_ACC_PUBLIC)
708
+ PHP_ME (ByteBuffer, appendUInt64, arginfo_int , ZEND_ACC_PUBLIC)
709
+ PHP_ME (ByteBuffer, readUInt64, arginfo_offset , ZEND_ACC_PUBLIC)
710
+ PHP_ME (ByteBuffer, consumeUInt64, arginfo_empty , ZEND_ACC_PUBLIC)
710
711
// FLOAT
711
- PHP_ME (ByteBuffer, appendFloat, NULL , ZEND_ACC_PUBLIC)
712
- PHP_ME (ByteBuffer, readFloat, NULL , ZEND_ACC_PUBLIC)
713
- PHP_ME (ByteBuffer, consumeFloat, NULL , ZEND_ACC_PUBLIC)
712
+ PHP_ME (ByteBuffer, appendFloat, arginfo_float , ZEND_ACC_PUBLIC)
713
+ PHP_ME (ByteBuffer, readFloat, arginfo_offset , ZEND_ACC_PUBLIC)
714
+ PHP_ME (ByteBuffer, consumeFloat, arginfo_empty , ZEND_ACC_PUBLIC)
714
715
// DOUBLE
715
- PHP_ME (ByteBuffer, appendDouble, NULL , ZEND_ACC_PUBLIC)
716
- PHP_ME (ByteBuffer, readDouble, NULL , ZEND_ACC_PUBLIC)
717
- PHP_ME (ByteBuffer, consumeDouble, NULL , ZEND_ACC_PUBLIC)
716
+ PHP_ME (ByteBuffer, appendDouble, arginfo_float , ZEND_ACC_PUBLIC)
717
+ PHP_ME (ByteBuffer, readDouble, arginfo_offset , ZEND_ACC_PUBLIC)
718
+ PHP_ME (ByteBuffer, consumeDouble, arginfo_empty , ZEND_ACC_PUBLIC)
718
719
719
720
PHP_FE_END
720
721
};
@@ -732,9 +733,10 @@ static zend_object* buffer_object_create(zend_class_entry *ce) {
732
733
return ret;
733
734
}
734
735
736
+ #if PHP_VERSION_ID < 80000
735
737
static zend_object *buffer_object_clone (zval *object)
736
738
{
737
- buffer_object *old_obj = buffer_object_from_zend_object (Z_OBJ_P (object));
739
+ buffer_object *old_obj = buffer_object_from_zend_object (Z_OBJ_P (object));
738
740
buffer_object *new_obj = buffer_object_from_zend_object (buffer_object_create (old_obj->std .ce ));
739
741
740
742
zend_objects_clone_members (&new_obj->std , &old_obj->std );
@@ -744,6 +746,20 @@ static zend_object *buffer_object_clone(zval *object)
744
746
745
747
return &new_obj->std ;
746
748
}
749
+ #else
750
+ static zend_object *buffer_object_clone (zend_object *object)
751
+ {
752
+ buffer_object *old_obj = buffer_object_from_zend_object (object);
753
+ buffer_object *new_obj = buffer_object_from_zend_object (buffer_object_create (old_obj->std .ce ));
754
+
755
+ zend_objects_clone_members (&new_obj->std , &old_obj->std );
756
+
757
+ new_obj->data = new Buffer ();
758
+ new_obj->data ->merge (*old_obj->data );
759
+
760
+ return &new_obj->std ;
761
+ }
762
+ #endif
747
763
748
764
static void buffer_object_free (zend_object *zobj)
749
765
{
0 commit comments