@@ -1302,8 +1302,14 @@ static zend_result phar_parse_pharfile(php_stream *fp, const char *fname, size_t
13021302/**
13031303 * Create or open a phar for writing
13041304 */
1305- ZEND_ATTRIBUTE_NONNULL_ARGS (1 , 5 , 6 ) zend_result phar_open_or_create_filename (zend_string * fname , const zend_string * alias , bool is_data , uint32_t options , phar_archive_data * * pphar , char * * error ) /* {{{ */
1306- {
1305+ ZEND_ATTRIBUTE_NONNULL_ARGS (1 , 5 , 6 ) zend_result phar_open_or_create_filename (
1306+ zend_string * fname ,
1307+ /* copyable & hash update */ zend_string * alias ,
1308+ bool is_data ,
1309+ uint32_t options ,
1310+ phar_archive_data * * pphar ,
1311+ char * * error
1312+ ) {
13071313 const char * ext_str , * z ;
13081314 char * my_error ;
13091315 size_t ext_len ;
@@ -1366,12 +1372,17 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 5, 6) zend_result phar_open_or_create_filename(ze
13661372
13671373 return phar_create_or_parse_filename (fname , alias , is_data , options , pphar , error );
13681374}
1369- /* }}} */
13701375
13711376static zend_result phar_open_from_fp (php_stream * fp , const char * fname , size_t fname_len , const char * alias , size_t alias_len , uint32_t options , phar_archive_data * * pphar , char * * error );
13721377
1373- ZEND_ATTRIBUTE_NONNULL_ARGS (1 , 5 , 6 ) zend_result phar_create_or_parse_filename (zend_string * fname , const zend_string * alias , bool is_data , uint32_t options , phar_archive_data * * pphar , char * * error ) /* {{{ */
1374- {
1378+ ZEND_ATTRIBUTE_NONNULL_ARGS (1 , 5 , 6 ) zend_result phar_create_or_parse_filename (
1379+ zend_string * fname ,
1380+ /* copyable & hash update */ zend_string * alias ,
1381+ bool is_data ,
1382+ uint32_t options ,
1383+ phar_archive_data * * pphar ,
1384+ char * * error
1385+ ) {
13751386 php_stream * fp ;
13761387 zend_string * actual = NULL ;
13771388 zend_string * save_fname = fname ;
@@ -1462,15 +1473,14 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 5, 6) zend_result phar_create_or_parse_filename(z
14621473
14631474 if (is_data ) {
14641475 alias = NULL ;
1465- alias_len = 0 ;
14661476 mydata -> is_data = 1 ;
14671477 /* assume tar format, PharData can specify other */
14681478 mydata -> is_tar = 1 ;
14691479 } else {
14701480 if (alias ) {
1471- const phar_archive_data * fd_ptr = zend_hash_str_find_ptr (& (PHAR_G (phar_alias_map )), alias_cstr , alias_len );
1481+ const phar_archive_data * fd_ptr = zend_hash_find_ptr (& (PHAR_G (phar_alias_map )), alias );
14721482 if (fd_ptr && SUCCESS != phar_free_alias (fd_ptr )) {
1473- spprintf (error , 4096 , "phar error: phar \"%s\" cannot set alias \"%s\", already in use by another phar archive" , ZSTR_VAL (mydata -> fname ), alias_cstr );
1483+ spprintf (error , 4096 , "phar error: phar \"%s\" cannot set alias \"%s\", already in use by another phar archive" , ZSTR_VAL (mydata -> fname ), ZSTR_VAL ( alias ) );
14741484
14751485 zend_hash_del (& (PHAR_G (phar_fname_map )), mydata -> fname );
14761486
@@ -1481,14 +1491,14 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 5, 6) zend_result phar_create_or_parse_filename(z
14811491 }
14821492
14831493 ZEND_ASSERT (!mydata -> is_persistent );
1484- mydata -> alias = alias ? estrndup (alias_cstr , alias_len ) : estrndup (ZSTR_VAL (mydata -> fname ), ZSTR_LEN (mydata -> fname ));
1485- mydata -> alias_len = alias ? alias_len : ZSTR_LEN (mydata -> fname );
1494+ mydata -> alias = alias ? estrndup (ZSTR_VAL ( alias ), ZSTR_LEN ( alias ) ) : estrndup (ZSTR_VAL (mydata -> fname ), ZSTR_LEN (mydata -> fname ));
1495+ mydata -> alias_len = alias ? ZSTR_LEN ( alias ) : ZSTR_LEN (mydata -> fname );
14861496 }
14871497
1488- if (alias_len && alias ) {
1489- if (NULL == zend_hash_str_add_ptr (& (PHAR_G (phar_alias_map )), alias_cstr , alias_len , mydata )) {
1498+ if (alias ) {
1499+ if (NULL == zend_hash_add_ptr (& (PHAR_G (phar_alias_map )), alias , mydata )) {
14901500 if (options & REPORT_ERRORS ) {
1491- spprintf (error , 0 , "archive \"%s\" cannot be associated with alias \"%s\", already in use" , ZSTR_VAL (fname ), alias_cstr );
1501+ spprintf (error , 0 , "archive \"%s\" cannot be associated with alias \"%s\", already in use" , ZSTR_VAL (fname ), ZSTR_VAL ( alias ) );
14921502 }
14931503
14941504 zend_hash_del (& (PHAR_G (phar_fname_map )), mydata -> fname );
@@ -1502,7 +1512,6 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 5, 6) zend_result phar_create_or_parse_filename(z
15021512 * pphar = mydata ;
15031513 return SUCCESS ;
15041514}
1505- /* }}}*/
15061515
15071516/**
15081517 * Return an already opened filename.
0 commit comments