@@ -1971,44 +1971,31 @@ int phar_detect_phar_fname_ext(const char *filename, size_t filename_len, const
1971
1971
}
1972
1972
} else {
1973
1973
zend_string * str_key ;
1974
- zend_ulong unused ;
1975
1974
1976
- for (zend_hash_internal_pointer_reset (& (PHAR_G (phar_fname_map )));
1977
- HASH_KEY_NON_EXISTENT != zend_hash_get_current_key (& (PHAR_G (phar_fname_map )), & str_key , & unused );
1978
- zend_hash_move_forward (& (PHAR_G (phar_fname_map )))
1979
- ) {
1975
+ ZEND_HASH_FOREACH_STR_KEY_PTR (& PHAR_G (phar_fname_map ), str_key , pphar ) {
1980
1976
if (ZSTR_LEN (str_key ) > (uint32_t ) filename_len ) {
1981
1977
continue ;
1982
1978
}
1983
1979
1984
1980
if (!memcmp (filename , ZSTR_VAL (str_key ), ZSTR_LEN (str_key )) && ((uint32_t )filename_len == ZSTR_LEN (str_key )
1985
1981
|| filename [ZSTR_LEN (str_key )] == '/' || filename [ZSTR_LEN (str_key )] == '\0' )) {
1986
- if (NULL == (pphar = zend_hash_get_current_data_ptr (& (PHAR_G (phar_fname_map ))))) {
1987
- break ;
1988
- }
1989
1982
* ext_str = filename + (ZSTR_LEN (str_key ) - pphar -> ext_len );
1990
1983
goto woohoo ;
1991
1984
}
1992
- }
1985
+ } ZEND_HASH_FOREACH_END ();
1993
1986
1994
1987
if (PHAR_G (manifest_cached )) {
1995
- for (zend_hash_internal_pointer_reset (& cached_phars );
1996
- HASH_KEY_NON_EXISTENT != zend_hash_get_current_key (& cached_phars , & str_key , & unused );
1997
- zend_hash_move_forward (& cached_phars )
1998
- ) {
1988
+ ZEND_HASH_FOREACH_STR_KEY_PTR (& cached_phars , str_key , pphar ) {
1999
1989
if (ZSTR_LEN (str_key ) > (uint32_t ) filename_len ) {
2000
1990
continue ;
2001
1991
}
2002
1992
2003
1993
if (!memcmp (filename , ZSTR_VAL (str_key ), ZSTR_LEN (str_key )) && ((uint32_t )filename_len == ZSTR_LEN (str_key )
2004
1994
|| filename [ZSTR_LEN (str_key )] == '/' || filename [ZSTR_LEN (str_key )] == '\0' )) {
2005
- if (NULL == (pphar = zend_hash_get_current_data_ptr (& cached_phars ))) {
2006
- break ;
2007
- }
2008
1995
* ext_str = filename + (ZSTR_LEN (str_key ) - pphar -> ext_len );
2009
1996
goto woohoo ;
2010
1997
}
2011
- }
1998
+ } ZEND_HASH_FOREACH_END ();
2012
1999
}
2013
2000
}
2014
2001
}
@@ -2692,12 +2679,7 @@ int phar_flush(phar_archive_data *phar, char *user_stub, zend_long len, int conv
2692
2679
}
2693
2680
new_manifest_count = 0 ;
2694
2681
offset = 0 ;
2695
- for (zend_hash_internal_pointer_reset (& phar -> manifest );
2696
- zend_hash_has_more_elements (& phar -> manifest ) == SUCCESS ;
2697
- zend_hash_move_forward (& phar -> manifest )) {
2698
- if ((entry = zend_hash_get_current_data_ptr (& phar -> manifest )) == NULL ) {
2699
- continue ;
2700
- }
2682
+ ZEND_HASH_FOREACH_PTR (& phar -> manifest , entry ) {
2701
2683
if (entry -> cfp ) {
2702
2684
/* did we forget to get rid of cfp last time? */
2703
2685
php_stream_close (entry -> cfp );
@@ -2851,7 +2833,7 @@ int phar_flush(phar_archive_data *phar, char *user_stub, zend_long len, int conv
2851
2833
entry -> old_flags = entry -> flags ;
2852
2834
entry -> is_modified = 1 ;
2853
2835
global_flags |= (entry -> flags & PHAR_ENT_COMPRESSION_MASK );
2854
- }
2836
+ } ZEND_HASH_FOREACH_END ();
2855
2837
global_flags |= PHAR_HDR_SIGNATURE ;
2856
2838
2857
2839
/* write out manifest pre-header */
@@ -2932,14 +2914,7 @@ int phar_flush(phar_archive_data *phar, char *user_stub, zend_long len, int conv
2932
2914
manifest_ftell = php_stream_tell (newfile );
2933
2915
2934
2916
/* now write the manifest */
2935
- for (zend_hash_internal_pointer_reset (& phar -> manifest );
2936
- zend_hash_has_more_elements (& phar -> manifest ) == SUCCESS ;
2937
- zend_hash_move_forward (& phar -> manifest )) {
2938
-
2939
- if ((entry = zend_hash_get_current_data_ptr (& phar -> manifest )) == NULL ) {
2940
- continue ;
2941
- }
2942
-
2917
+ ZEND_HASH_FOREACH_PTR (& phar -> manifest , entry ) {
2943
2918
if (entry -> is_deleted || entry -> is_mounted ) {
2944
2919
/* remove this from the new phar if deleted, ignore if mounted */
2945
2920
continue ;
@@ -3001,7 +2976,7 @@ int phar_flush(phar_archive_data *phar, char *user_stub, zend_long len, int conv
3001
2976
3002
2977
return EOF ;
3003
2978
}
3004
- }
2979
+ } ZEND_HASH_FOREACH_END ();
3005
2980
/* Hack - see bug #65028, add padding byte to the end of the manifest */
3006
2981
if (manifest_hack ) {
3007
2982
if (1 != php_stream_write (newfile , manifest , 1 )) {
@@ -3021,14 +2996,7 @@ int phar_flush(phar_archive_data *phar, char *user_stub, zend_long len, int conv
3021
2996
3022
2997
/* now copy the actual file data to the new phar */
3023
2998
offset = php_stream_tell (newfile );
3024
- for (zend_hash_internal_pointer_reset (& phar -> manifest );
3025
- zend_hash_has_more_elements (& phar -> manifest ) == SUCCESS ;
3026
- zend_hash_move_forward (& phar -> manifest )) {
3027
-
3028
- if ((entry = zend_hash_get_current_data_ptr (& phar -> manifest )) == NULL ) {
3029
- continue ;
3030
- }
3031
-
2999
+ ZEND_HASH_FOREACH_PTR (& phar -> manifest , entry ) {
3032
3000
if (entry -> is_deleted || entry -> is_dir || entry -> is_mounted ) {
3033
3001
continue ;
3034
3002
}
@@ -3096,7 +3064,7 @@ int phar_flush(phar_archive_data *phar, char *user_stub, zend_long len, int conv
3096
3064
} else if (entry -> fp_type == PHAR_UFP ) {
3097
3065
entry -> fp_type = PHAR_FP ;
3098
3066
}
3099
- }
3067
+ } ZEND_HASH_FOREACH_END ();
3100
3068
3101
3069
/* append signature */
3102
3070
if (global_flags & PHAR_HDR_SIGNATURE ) {
@@ -3484,11 +3452,9 @@ void phar_request_initialize(void) /* {{{ */
3484
3452
phar_archive_data * pphar ;
3485
3453
phar_entry_fp * stuff = (phar_entry_fp * ) ecalloc (zend_hash_num_elements (& cached_phars ), sizeof (phar_entry_fp ));
3486
3454
3487
- for (zend_hash_internal_pointer_reset (& cached_phars );
3488
- (pphar = zend_hash_get_current_data_ptr (& cached_phars )) != NULL ;
3489
- zend_hash_move_forward (& cached_phars )) {
3455
+ ZEND_HASH_FOREACH_PTR (& cached_phars , pphar ) {
3490
3456
stuff [pphar -> phar_pos ].manifest = (phar_entry_fp_info * ) ecalloc ( zend_hash_num_elements (& (pphar -> manifest )), sizeof (phar_entry_fp_info ));
3491
- }
3457
+ } ZEND_HASH_FOREACH_END ();
3492
3458
3493
3459
PHAR_G (cached_fp ) = stuff ;
3494
3460
}
0 commit comments