Diff for /embedaddon/php/ext/phar/phar.c between versions 1.1.1.2 and 1.1.1.5

version 1.1.1.2, 2012/05/29 12:34:41 version 1.1.1.5, 2014/06/15 20:03:53
Line 2 Line 2
   +----------------------------------------------------------------------+    +----------------------------------------------------------------------+
   | phar php single-file executable PHP extension                        |    | phar php single-file executable PHP extension                        |
   +----------------------------------------------------------------------+    +----------------------------------------------------------------------+
  | Copyright (c) 2005-2012 The PHP Group                                |  | Copyright (c) 2005-2014 The PHP Group                                |
   +----------------------------------------------------------------------+    +----------------------------------------------------------------------+
   | This source file is subject to version 3.01 of the PHP license,      |    | This source file is subject to version 3.01 of the PHP license,      |
   | that is bundled with this package in the file LICENSE, and is        |    | that is bundled with this package in the file LICENSE, and is        |
Line 2579  int phar_flush(phar_archive_data *phar, char *user_stu Line 2579  int phar_flush(phar_archive_data *phar, char *user_stu
         php_serialize_data_t metadata_hash;          php_serialize_data_t metadata_hash;
         smart_str main_metadata_str = {0};          smart_str main_metadata_str = {0};
         int free_user_stub, free_fp = 1, free_ufp = 1;          int free_user_stub, free_fp = 1, free_ufp = 1;
           int manifest_hack = 0;
   
         if (phar->is_persistent) {          if (phar->is_persistent) {
                 if (error) {                  if (error) {
Line 2647  int phar_flush(phar_archive_data *phar, char *user_stu Line 2648  int phar_flush(phar_archive_data *phar, char *user_stu
                                 len = -len;                                  len = -len;
                         }                          }
                         user_stub = 0;                          user_stub = 0;
#if PHP_MAJOR_VERSION >= 6
                        if (!(len = php_stream_copy_to_mem(stubfile, (void **) &user_stub, len, 0)) || !user_stub) { 
#else 
                         if (!(len = php_stream_copy_to_mem(stubfile, &user_stub, len, 0)) || !user_stub) {                          if (!(len = php_stream_copy_to_mem(stubfile, &user_stub, len, 0)) || !user_stub) {
 #endif  
                                 if (closeoldfile) {                                  if (closeoldfile) {
                                         php_stream_close(oldfile);                                          php_stream_close(oldfile);
                                 }                                  }
Line 2933  int phar_flush(phar_archive_data *phar, char *user_stu Line 2931  int phar_flush(phar_archive_data *phar, char *user_stu
   
         manifest_len = offset + phar->alias_len + sizeof(manifest) + main_metadata_str.len;          manifest_len = offset + phar->alias_len + sizeof(manifest) + main_metadata_str.len;
         phar_set_32(manifest, manifest_len);          phar_set_32(manifest, manifest_len);
           /* Hack - see bug #65028, add padding byte to the end of the manifest */
           if(manifest[0] == '\r' || manifest[0] == '\n') {
                   manifest_len++;
                   phar_set_32(manifest, manifest_len);
                   manifest_hack = 1;
           }
         phar_set_32(manifest+4, new_manifest_count);          phar_set_32(manifest+4, new_manifest_count);
         if (has_dirs) {          if (has_dirs) {
                 *(manifest + 8) = (unsigned char) (((PHAR_API_VERSION) >> 8) & 0xFF);                  *(manifest + 8) = (unsigned char) (((PHAR_API_VERSION) >> 8) & 0xFF);
Line 3052  int phar_flush(phar_archive_data *phar, char *user_stu Line 3056  int phar_flush(phar_archive_data *phar, char *user_stu
   
                         if (error) {                          if (error) {
                                 spprintf(error, 0, "unable to write temporary manifest of file \"%s\" to manifest of new phar \"%s\"", entry->filename, phar->fname);                                  spprintf(error, 0, "unable to write temporary manifest of file \"%s\" to manifest of new phar \"%s\"", entry->filename, phar->fname);
                           }
   
                           return EOF;
                   }
           }
           /* Hack - see bug #65028, add padding byte to the end of the manifest */
           if(manifest_hack) {
                   if(1 != php_stream_write(newfile, manifest, 1)) {
                           if (closeoldfile) {
                                   php_stream_close(oldfile);
                           }
   
                           php_stream_close(newfile);
   
                           if (error) {
                                   spprintf(error, 0, "unable to write manifest padding byte");
                         }                          }
   
                         return EOF;                          return EOF;

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>