@@ -245,20 +245,6 @@ static void imap_object_destroy(zend_object *zobj) {
245
245
RETURN_FALSE; \
246
246
} \
247
247
248
- /* {{{ php_imap_hash_add_object */
249
- static zval * php_imap_hash_add_object (zval * arg , char * key , zval * tmp )
250
- {
251
- HashTable * symtable ;
252
-
253
- if (Z_TYPE_P (arg ) == IS_OBJECT ) {
254
- symtable = Z_OBJPROP_P (arg );
255
- } else {
256
- symtable = Z_ARRVAL_P (arg );
257
- }
258
- return zend_hash_str_update (symtable , key , strlen (key ), tmp );
259
- }
260
- /* }}} */
261
-
262
248
/* {{{ mail_newfolderobjectlist
263
249
*
264
250
* Mail instantiate FOBJECTLIST
@@ -2959,7 +2945,13 @@ static void php_imap_populate_body_struct_object(zval *z_object, const BODY *bod
2959
2945
);
2960
2946
zend_hash_next_index_insert_new (Z_ARR (z_disposition_parameter_list ), & z_disposition_parameter );
2961
2947
} while ((disposition_parameter = disposition_parameter -> next ));
2962
- php_imap_hash_add_object (z_object , "dparameters" , & z_disposition_parameter_list );
2948
+
2949
+ zend_update_property (
2950
+ Z_OBJCE_P (z_object ), Z_OBJ_P (z_object ),
2951
+ "dparameters" , strlen ("dparameters" ),
2952
+ & z_disposition_parameter_list
2953
+ );
2954
+ zval_ptr_dtor (& z_disposition_parameter_list );
2963
2955
} else {
2964
2956
zend_update_property_long (
2965
2957
Z_OBJCE_P (z_object ), Z_OBJ_P (z_object ),
@@ -3004,7 +2996,13 @@ static void php_imap_populate_body_struct_object(zval *z_object, const BODY *bod
3004
2996
0
3005
2997
);
3006
2998
}
3007
- php_imap_hash_add_object (z_object , "parameters" , & z_body_parameter_list );
2999
+
3000
+ zend_update_property (
3001
+ Z_OBJCE_P (z_object ), Z_OBJ_P (z_object ),
3002
+ "parameters" , strlen ("parameters" ),
3003
+ & z_body_parameter_list
3004
+ );
3005
+ zval_ptr_dtor (& z_body_parameter_list );
3008
3006
}
3009
3007
3010
3008
/* {{{ Read the structure of a specified body section of a specific message */
@@ -4243,9 +4241,6 @@ static zend_string* _php_imap_parse_address (ADDRESS *address_list, zval *paddre
4243
4241
/* {{{ _php_make_header_object */
4244
4242
static void _php_make_header_object (zval * myzvalue , ENVELOPE * en )
4245
4243
{
4246
- zval paddress ;
4247
- zend_string * fulladdress = NULL ;
4248
-
4249
4244
object_init (myzvalue );
4250
4245
4251
4246
if (en -> remail ) {
@@ -4316,101 +4311,157 @@ static void _php_make_header_object(zval *myzvalue, ENVELOPE *en)
4316
4311
}
4317
4312
4318
4313
if (en -> to ) {
4319
- array_init (& paddress );
4320
- fulladdress = _php_imap_parse_address (en -> to , & paddress );
4321
- if (fulladdress ) {
4314
+ zval to_address_parts ;
4315
+ zend_string * to_full_address = NULL ;
4316
+
4317
+ array_init (& to_address_parts );
4318
+ to_full_address = _php_imap_parse_address (en -> to , & to_address_parts );
4319
+ if (to_full_address ) {
4322
4320
zend_update_property_str (
4323
4321
Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4324
4322
"toaddress" , strlen ("toaddress" ),
4325
- fulladdress
4323
+ to_full_address
4326
4324
);
4327
- zend_string_release (fulladdress );
4325
+ zend_string_release (to_full_address );
4328
4326
}
4329
- php_imap_hash_add_object (myzvalue , "to" , & paddress );
4327
+ zend_update_property (
4328
+ Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4329
+ "to" , strlen ("to" ),
4330
+ & to_address_parts
4331
+ );
4332
+ zval_ptr_dtor (& to_address_parts );
4330
4333
}
4331
4334
4332
4335
if (en -> from ) {
4333
- array_init (& paddress );
4334
- fulladdress = _php_imap_parse_address (en -> from , & paddress );
4335
- if (fulladdress ) {
4336
+ zval from_address_parts ;
4337
+ zend_string * from_full_address = NULL ;
4338
+
4339
+ array_init (& from_address_parts );
4340
+ from_full_address = _php_imap_parse_address (en -> from , & from_address_parts );
4341
+ if (from_full_address ) {
4336
4342
zend_update_property_str (
4337
4343
Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4338
4344
"fromaddress" , strlen ("fromaddress" ),
4339
- fulladdress
4345
+ from_full_address
4340
4346
);
4341
- zend_string_release (fulladdress );
4347
+ zend_string_release (from_full_address );
4342
4348
}
4343
- php_imap_hash_add_object (myzvalue , "from" , & paddress );
4349
+ zend_update_property (
4350
+ Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4351
+ "from" , strlen ("from" ),
4352
+ & from_address_parts
4353
+ );
4354
+ zval_ptr_dtor (& from_address_parts );
4344
4355
}
4345
4356
4346
4357
if (en -> cc ) {
4347
- array_init (& paddress );
4348
- fulladdress = _php_imap_parse_address (en -> cc , & paddress );
4349
- if (fulladdress ) {
4358
+ zval cc_address_parts ;
4359
+ zend_string * cc_full_address = NULL ;
4360
+
4361
+ array_init (& cc_address_parts );
4362
+ cc_full_address = _php_imap_parse_address (en -> cc , & cc_address_parts );
4363
+ if (cc_full_address ) {
4350
4364
zend_update_property_str (
4351
4365
Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4352
4366
"ccaddress" , strlen ("ccaddress" ),
4353
- fulladdress
4367
+ cc_full_address
4354
4368
);
4355
- zend_string_release (fulladdress );
4369
+ zend_string_release (cc_full_address );
4356
4370
}
4357
- php_imap_hash_add_object (myzvalue , "cc" , & paddress );
4371
+ zend_update_property (
4372
+ Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4373
+ "cc" , strlen ("cc" ),
4374
+ & cc_address_parts
4375
+ );
4376
+ zval_ptr_dtor (& cc_address_parts );
4358
4377
}
4359
4378
4360
4379
if (en -> bcc ) {
4361
- array_init (& paddress );
4362
- fulladdress = _php_imap_parse_address (en -> bcc , & paddress );
4363
- if (fulladdress ) {
4380
+ zval bcc_address_parts ;
4381
+ zend_string * bcc_full_address = NULL ;
4382
+
4383
+ array_init (& bcc_address_parts );
4384
+ bcc_full_address = _php_imap_parse_address (en -> bcc , & bcc_address_parts );
4385
+ if (bcc_full_address ) {
4364
4386
zend_update_property_str (
4365
4387
Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4366
4388
"bccaddress" , strlen ("bccaddress" ),
4367
- fulladdress
4389
+ bcc_full_address
4368
4390
);
4369
- zend_string_release (fulladdress );
4391
+ zend_string_release (bcc_full_address );
4370
4392
}
4371
- php_imap_hash_add_object (myzvalue , "bcc" , & paddress );
4393
+ zend_update_property (
4394
+ Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4395
+ "bcc" , strlen ("bcc" ),
4396
+ & bcc_address_parts
4397
+ );
4398
+ zval_ptr_dtor (& bcc_address_parts );
4372
4399
}
4373
4400
4374
4401
if (en -> reply_to ) {
4375
- array_init (& paddress );
4376
- fulladdress = _php_imap_parse_address (en -> reply_to , & paddress );
4377
- if (fulladdress ) {
4402
+ zval reply_to_address_parts ;
4403
+ zend_string * reply_to_full_address = NULL ;
4404
+
4405
+ array_init (& reply_to_address_parts );
4406
+ reply_to_full_address = _php_imap_parse_address (en -> reply_to , & reply_to_address_parts );
4407
+ if (reply_to_full_address ) {
4378
4408
zend_update_property_str (
4379
4409
Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4380
4410
"reply_toaddress" , strlen ("reply_toaddress" ),
4381
- fulladdress
4411
+ reply_to_full_address
4382
4412
);
4383
- zend_string_release (fulladdress );
4413
+ zend_string_release (reply_to_full_address );
4384
4414
}
4385
- php_imap_hash_add_object (myzvalue , "reply_to" , & paddress );
4415
+ zend_update_property (
4416
+ Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4417
+ "reply_to" , strlen ("reply_to" ),
4418
+ & reply_to_address_parts
4419
+ );
4420
+ zval_ptr_dtor (& reply_to_address_parts );
4386
4421
}
4387
4422
4388
4423
if (en -> sender ) {
4389
- array_init (& paddress );
4390
- fulladdress = _php_imap_parse_address (en -> sender , & paddress );
4391
- if (fulladdress ) {
4424
+ zval sender_address_parts ;
4425
+ zend_string * sender_full_address = NULL ;
4426
+
4427
+ array_init (& sender_address_parts );
4428
+ sender_full_address = _php_imap_parse_address (en -> sender , & sender_address_parts );
4429
+ if (sender_full_address ) {
4392
4430
zend_update_property_str (
4393
4431
Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4394
4432
"senderaddress" , strlen ("senderaddress" ),
4395
- fulladdress
4433
+ sender_full_address
4396
4434
);
4397
- zend_string_release (fulladdress );
4435
+ zend_string_release (sender_full_address );
4398
4436
}
4399
- php_imap_hash_add_object (myzvalue , "sender" , & paddress );
4437
+ zend_update_property (
4438
+ Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4439
+ "sender" , strlen ("sender" ),
4440
+ & sender_address_parts
4441
+ );
4442
+ zval_ptr_dtor (& sender_address_parts );
4400
4443
}
4401
4444
4402
4445
if (en -> return_path ) {
4403
- array_init (& paddress );
4404
- fulladdress = _php_imap_parse_address (en -> return_path , & paddress );
4405
- if (fulladdress ) {
4446
+ zval return_path_address_parts ;
4447
+ zend_string * return_path_full_address = NULL ;
4448
+
4449
+ array_init (& return_path_address_parts );
4450
+ return_path_full_address = _php_imap_parse_address (en -> return_path , & return_path_address_parts );
4451
+ if (return_path_full_address ) {
4406
4452
zend_update_property_str (
4407
4453
Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4408
4454
"return_pathaddress" , strlen ("return_pathaddress" ),
4409
- fulladdress
4455
+ return_path_full_address
4410
4456
);
4411
- zend_string_release (fulladdress );
4457
+ zend_string_release (return_path_full_address );
4412
4458
}
4413
- php_imap_hash_add_object (myzvalue , "return_path" , & paddress );
4459
+ zend_update_property (
4460
+ Z_OBJCE_P (myzvalue ), Z_OBJ_P (myzvalue ),
4461
+ "return_path" , strlen ("return_path" ),
4462
+ & return_path_address_parts
4463
+ );
4464
+ zval_ptr_dtor (& return_path_address_parts );
4414
4465
// From rebase might need?
4415
4466
//add_assoc_object(myzvalue, "return_path", &paddress);
4416
4467
}
@@ -4433,7 +4484,13 @@ void _php_imap_add_body(zval *arg, const BODY *body)
4433
4484
_php_imap_add_body (& z_content_part , & content_part -> body );
4434
4485
zend_hash_next_index_insert_new (Z_ARR (z_content_part_list ), & z_content_part );
4435
4486
}
4436
- php_imap_hash_add_object (arg , "parts" , & z_content_part_list );
4487
+
4488
+ zend_update_property (
4489
+ Z_OBJCE_P (arg ), Z_OBJ_P (arg ),
4490
+ "parts" , strlen ("parts" ),
4491
+ & z_content_part_list
4492
+ );
4493
+ zval_ptr_dtor (& z_content_part_list );
4437
4494
}
4438
4495
4439
4496
/* encapsulated message ? */
@@ -4445,7 +4502,13 @@ void _php_imap_add_body(zval *arg, const BODY *body)
4445
4502
object_init (& message );
4446
4503
_php_imap_add_body (& message , message_body );
4447
4504
zend_hash_next_index_insert_new (Z_ARR (message_list ), & message );
4448
- php_imap_hash_add_object (arg , "parts" , & message_list );
4505
+
4506
+ zend_update_property (
4507
+ Z_OBJCE_P (arg ), Z_OBJ_P (arg ),
4508
+ "parts" , strlen ("parts" ),
4509
+ & message_list
4510
+ );
4511
+ zval_ptr_dtor (& message_list );
4449
4512
}
4450
4513
}
4451
4514
/* }}} */
0 commit comments