@@ -12,10 +12,10 @@ static zend_object_handlers byte_buffer_writer_zend_object_handlers;
1212zend_class_entry* byte_buffer_writer_ce;
1313
1414static void writer_init_properties (byte_buffer_writer_zend_object* object, zend_string* buffer, size_t used, size_t offset) {
15- object->buffer = buffer;
15+ object->writer . buffer = buffer;
1616 zend_string_addref (buffer);
17- object->offset = offset;
18- object->used = used;
17+ object->writer . offset = offset;
18+ object->writer . used = used;
1919}
2020
2121static zend_object* writer_new (zend_class_entry* ce) {
@@ -32,15 +32,15 @@ static zend_object* writer_clone(zend_object* object) {
3232
3333 zend_objects_clone_members (&new_object->std , &old_object->std );
3434
35- writer_init_properties (new_object, old_object->buffer , old_object->used , old_object->offset );
35+ writer_init_properties (new_object, old_object->writer . buffer , old_object->writer . used , old_object->writer . offset );
3636
3737 return &new_object->std ;
3838}
3939
4040static void writer_free (zend_object* std) {
4141 auto object = fetch_from_zend_object<byte_buffer_writer_zend_object>(std);
4242
43- zend_string_release_ex (object->buffer , 0 );
43+ zend_string_release_ex (object->writer . buffer , 0 );
4444}
4545
4646static int writer_compare_objects (zval* obj1, zval* obj2) {
@@ -50,9 +50,9 @@ static int writer_compare_objects(zval* obj1, zval* obj2) {
5050 auto object2 = fetch_from_zend_object<byte_buffer_writer_zend_object>(Z_OBJ_P (obj2));
5151
5252 if (
53- object1->offset == object2->offset &&
54- object1->used == object2->used &&
55- zend_string_equals (object1->buffer , object2->buffer )
53+ object1->writer . offset == object2->writer . offset &&
54+ object1->writer . used == object2->writer . used &&
55+ zend_string_equals (object1->writer . buffer , object2->writer . buffer )
5656 ) {
5757 return 0 ;
5858 }
@@ -74,8 +74,8 @@ WRITER_METHOD(__construct) {
7474 ZEND_PARSE_PARAMETERS_END ();
7575
7676 object = WRITER_THIS ();
77- if (object->buffer ) {
78- zend_string_release_ex (object->buffer , 0 );
77+ if (object->writer . buffer ) {
78+ zend_string_release_ex (object->writer . buffer , 0 );
7979 }
8080
8181 if (buffer == NULL ) {
@@ -90,7 +90,7 @@ WRITER_METHOD(getData) {
9090 zend_parse_parameters_none_throw ();
9191
9292 auto object = WRITER_THIS ();
93- RETURN_STRINGL (ZSTR_VAL (object->buffer ), object->used );
93+ RETURN_STRINGL (ZSTR_VAL (object->writer . buffer ), object->writer . used );
9494}
9595
9696WRITER_METHOD (writeByteArray) {
@@ -106,18 +106,18 @@ WRITER_METHOD(writeByteArray) {
106106
107107 auto size = ZSTR_LEN (value);
108108
109- extendBuffer (object->buffer , object->offset , size);
110- memcpy (ZSTR_VAL (object->buffer ) + object->offset , ZSTR_VAL (value), size);
111- object->offset += size;
112- if (object->offset > object->used ) {
113- object->used = object->offset ;
109+ extendBuffer (object->writer . buffer , object->writer . offset , size);
110+ memcpy (ZSTR_VAL (object->writer . buffer ) + object->writer . offset , ZSTR_VAL (value), size);
111+ object->writer . offset += size;
112+ if (object->writer . offset > object->writer . used ) {
113+ object->writer . used = object->writer . offset ;
114114 }
115115}
116116
117117WRITER_METHOD (getOffset) {
118118 zend_parse_parameters_none_throw ();
119119 auto object = WRITER_THIS ();
120- RETURN_LONG (object->offset );
120+ RETURN_LONG (object->writer . offset );
121121}
122122
123123WRITER_METHOD (setOffset) {
@@ -128,26 +128,26 @@ WRITER_METHOD(setOffset) {
128128 ZEND_PARSE_PARAMETERS_END ();
129129
130130 auto object = WRITER_THIS ();
131- if (offset < 0 || static_cast <size_t >(offset) > object->used ) {
131+ if (offset < 0 || static_cast <size_t >(offset) > object->writer . used ) {
132132 zend_value_error (" Offset must not be less than zero or greater than the buffer size" );
133133 return ;
134134 }
135135
136- object->offset = static_cast <size_t >(offset);
136+ object->writer . offset = static_cast <size_t >(offset);
137137}
138138
139139WRITER_METHOD (getUsedLength) {
140140 zend_parse_parameters_none_throw ();
141141
142142 auto object = WRITER_THIS ();
143- RETURN_LONG (object->used );
143+ RETURN_LONG (object->writer . used );
144144}
145145
146146WRITER_METHOD (getReservedLength) {
147147 zend_parse_parameters_none_throw ();
148148
149149 auto object = WRITER_THIS ();
150- RETURN_LONG (ZSTR_LEN (object->buffer ));
150+ RETURN_LONG (ZSTR_LEN (object->writer . buffer ));
151151}
152152
153153WRITER_METHOD (reserve) {
@@ -162,24 +162,24 @@ WRITER_METHOD(reserve) {
162162 return ;
163163 }
164164 auto object = WRITER_THIS ();
165- extendBuffer (object->buffer , static_cast <size_t >(zlength), 0 );
165+ extendBuffer (object->writer . buffer , static_cast <size_t >(zlength), 0 );
166166}
167167
168168WRITER_METHOD (trim) {
169169 zend_parse_parameters_none_throw ();
170170
171171 auto object = WRITER_THIS ();
172- if (ZSTR_LEN (object->buffer ) > object->used ) {
173- object->buffer = zend_string_truncate (object->buffer , object->used , 0 );
172+ if (ZSTR_LEN (object->writer . buffer ) > object->writer . used ) {
173+ object->writer . buffer = zend_string_truncate (object->writer . buffer , object->writer . used , 0 );
174174 }
175175}
176176
177177WRITER_METHOD (clear) {
178178 zend_parse_parameters_none_throw ();
179179
180180 auto object = WRITER_THIS ();
181- object->offset = 0 ;
182- object->used = 0 ;
181+ object->writer . offset = 0 ;
182+ object->writer . used = 0 ;
183183}
184184
185185WRITER_METHOD (__serialize) {
@@ -189,8 +189,8 @@ WRITER_METHOD(__serialize) {
189189 array_init (return_value);
190190
191191 // don't return the writer buffer directly - it may have uninitialized reserved memory
192- add_assoc_stringl (return_value, " buffer" , ZSTR_VAL (object->buffer ), object->used );
193- add_assoc_long (return_value, " offset" , object->offset );
192+ add_assoc_stringl (return_value, " buffer" , ZSTR_VAL (object->writer . buffer ), object->writer . used );
193+ add_assoc_long (return_value, " offset" , object->writer . offset );
194194}
195195
196196static zval* fetch_serialized_property (HashTable* data, const char * name, int type) {
@@ -235,8 +235,8 @@ WRITER_METHOD(__debugInfo) {
235235 array_init (return_value);
236236
237237 // don't return the writer buffer directly - it may have uninitialized reserved memory
238- add_assoc_stringl (return_value, " buffer" , ZSTR_VAL (object->buffer ), object->used );
239- add_assoc_long (return_value, " offset" , object->offset );
238+ add_assoc_stringl (return_value, " buffer" , ZSTR_VAL (object->writer . buffer ), object->writer . used );
239+ add_assoc_long (return_value, " offset" , object->writer . offset );
240240}
241241
242242zend_class_entry* init_class_ByteBufferWriter (void ) {
0 commit comments