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