cellog          Fri Jun 20 06:37:15 2008 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/phar   phar.phar util.c 
  Log:
  minor performance improvement
  
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar.phar?r1=1.7.2.21&r2=1.7.2.22&diff_format=u
Index: php-src/ext/phar/phar.phar
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/util.c?r1=1.55.2.13&r2=1.55.2.14&diff_format=u
Index: php-src/ext/phar/util.c
diff -u php-src/ext/phar/util.c:1.55.2.13 php-src/ext/phar/util.c:1.55.2.14
--- php-src/ext/phar/util.c:1.55.2.13   Fri Jun 20 05:42:58 2008
+++ php-src/ext/phar/util.c     Fri Jun 20 06:37:14 2008
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: util.c,v 1.55.2.13 2008/06/20 05:42:58 cellog Exp $ */
+/* $Id: util.c,v 1.55.2.14 2008/06/20 06:37:14 cellog Exp $ */
 
 #include "phar_internal.h"
 #ifdef PHAR_HAVE_OPENSSL
@@ -251,6 +251,12 @@
        fname = zend_get_executed_filename(TSRMLS_C);
        fname_len = strlen(fname);
 
+       if (PHAR_G(last_phar) && !memcmp(fname, "phar://", 7) && fname_len - 7 
>= PHAR_G(last_phar_name_len) && !memcmp(fname + 7, PHAR_G(last_phar_name), 
PHAR_G(last_phar_name_len))) {
+               arch = estrndup(PHAR_G(last_phar_name), 
PHAR_G(last_phar_name_len));
+               arch_len = PHAR_G(last_phar_name_len);
+               phar = PHAR_G(last_phar);
+               goto splitted;
+       }
        if (fname_len < 7 || memcmp(fname, "phar://", 7) || SUCCESS != 
phar_split_fname(fname, strlen(fname), &arch, &arch_len, &entry, &entry_len, 1, 
0 TSRMLS_CC)) {
                return phar_save_resolve_path(filename, filename_len TSRMLS_CC);
        }
@@ -262,6 +268,7 @@
                        efree(arch);
                        return phar_save_resolve_path(filename, filename_len 
TSRMLS_CC);
                }
+splitted:
                if (pphar) {
                        *pphar = phar;
                }



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to