cellog Wed May 21 20:24:40 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar phar_object.c Log: fix convertTo\*() for same-named archives with no files http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar_object.c?r1=1.266.2.7&r2=1.266.2.8&diff_format=u Index: php-src/ext/phar/phar_object.c diff -u php-src/ext/phar/phar_object.c:1.266.2.7 php-src/ext/phar/phar_object.c:1.266.2.8 --- php-src/ext/phar/phar_object.c:1.266.2.7 Tue May 20 03:56:35 2008 +++ php-src/ext/phar/phar_object.c Wed May 21 20:24:40 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: phar_object.c,v 1.266.2.7 2008/05/20 03:56:35 cellog Exp $ */ +/* $Id: phar_object.c,v 1.266.2.8 2008/05/21 20:24:40 cellog Exp $ */ #include "phar_internal.h" #include "func_interceptors.h" @@ -1891,7 +1891,7 @@ efree(newname); if (SUCCESS == zend_hash_find(&(PHAR_GLOBALS->phar_fname_map), newpath, phar->fname_len, (void **) &pphar)) { - if (*pphar == phar) { + if ((*pphar)->fname_len == phar->fname_len && !memcmp((*pphar)->fname, phar->fname, phar->fname_len)) { if (!zend_hash_num_elements(&phar->manifest)) { goto its_ok; } @@ -1929,7 +1929,7 @@ phar->alias_len = 0; } - if (SUCCESS != zend_hash_add(&(PHAR_GLOBALS->phar_fname_map), newpath, phar->fname_len, (void*)&phar, sizeof(phar_archive_data*), NULL)) { + if (SUCCESS != zend_hash_update(&(PHAR_GLOBALS->phar_fname_map), newpath, phar->fname_len, (void*)&phar, sizeof(phar_archive_data*), NULL)) { efree(oldpath); zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "Unable to add newly converted phar \"%s\" to the list of phars", phar->fname); return NULL;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php