@@ -131,7 +131,7 @@ static void phar_split_cache_list(void) /* {{{ */
131131 len = strlen (key );
132132 }
133133
134- if (SUCCESS == phar_open_from_filename (key , len , NULL , 0 , 0 , & phar , NULL )) {
134+ if (SUCCESS == phar_open_from_filename (key , len , NULL , 0 , & phar , NULL )) {
135135 phar -> phar_pos = i ++ ;
136136 php_stream_close (phar -> fp );
137137 phar -> fp = NULL ;
@@ -1507,7 +1507,7 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 6, 7) zend_result phar_create_or_parse_filename(z
15071507 * that the manifest is proper, then pass it to phar_parse_pharfile(). SUCCESS
15081508 * or FAILURE is returned and pphar is set to a pointer to the phar's manifest
15091509 */
1510- zend_result phar_open_from_filename (char * fname , size_t fname_len , const char * alias , size_t alias_len , uint32_t options , phar_archive_data * * pphar , char * * error ) /* {{{ */
1510+ zend_result phar_open_from_filename (char * fname , size_t fname_len , const zend_string * alias , uint32_t options , phar_archive_data * * pphar , char * * error ) /* {{{ */
15111511{
15121512 php_stream * fp ;
15131513 zend_string * actual ;
@@ -1521,7 +1521,9 @@ zend_result phar_open_from_filename(char *fname, size_t fname_len, const char *a
15211521 is_data = true;
15221522 }
15231523
1524- if (phar_open_parsed_phar (fname , fname_len , alias , alias_len , is_data , options , pphar , error ) == SUCCESS ) {
1524+ const char * alias_cstr = alias ? ZSTR_VAL (alias ) : NULL ;
1525+ size_t alias_len = alias ? ZSTR_LEN (alias ) : 0 ;
1526+ if (phar_open_parsed_phar (fname , fname_len , alias_cstr , alias_len , is_data , options , pphar , error ) == SUCCESS ) {
15251527 return SUCCESS ;
15261528 } else if (error && * error ) {
15271529 return FAILURE ;
@@ -1549,7 +1551,7 @@ zend_result phar_open_from_filename(char *fname, size_t fname_len, const char *a
15491551 fname_len = ZSTR_LEN (actual );
15501552 }
15511553
1552- zend_result ret = phar_open_from_fp (fp , fname , fname_len , alias , alias_len , options , pphar , error );
1554+ zend_result ret = phar_open_from_fp (fp , fname , fname_len , alias_cstr , alias_len , options , pphar , error );
15531555
15541556 if (actual ) {
15551557 zend_string_release_ex (actual , 0 );
@@ -3158,7 +3160,7 @@ static zend_op_array *phar_compile_file(zend_file_handle *file_handle, int type)
31583160 return phar_orig_compile_file (file_handle , type );
31593161 }
31603162 if (strstr (ZSTR_VAL (file_handle -> filename ), ".phar" ) && !strstr (ZSTR_VAL (file_handle -> filename ), "://" )) {
3161- if (SUCCESS == phar_open_from_filename (ZSTR_VAL (file_handle -> filename ), ZSTR_LEN (file_handle -> filename ), NULL , 0 , 0 , & phar , NULL )) {
3163+ if (SUCCESS == phar_open_from_filename (ZSTR_VAL (file_handle -> filename ), ZSTR_LEN (file_handle -> filename ), NULL , 0 , & phar , NULL )) {
31623164 if (phar -> is_zip || phar -> is_tar ) {
31633165 zend_file_handle f ;
31643166
0 commit comments