]> granicus.if.org Git - php/commitdiff
Merge branch 'master' into phpng
authorDmitry Stogov <dmitry@zend.com>
Thu, 14 Aug 2014 19:30:49 +0000 (23:30 +0400)
committerDmitry Stogov <dmitry@zend.com>
Thu, 14 Aug 2014 19:30:49 +0000 (23:30 +0400)
* master: (51 commits)
  Update Git rules
  Back to -dev (with EOL notice in NEWS)
  new NEWS block for the next release
  It's 2014 already, fix copyright year where user visible
  PHP 5.3.29
  Some changes were lost in the merge commit of #66091
  Updated NEWS for #66091
  Fixed #66091
  Updated NEWS for #66091
  Updated NEWS for #66091
  Fixed #66091
  updated NEWS
  updated NEWS
  updated NEWS
  backported the fix for bug #41577
  NEWS entry for e6d93a1 / d73d44c
  restore FPM compatibility with mod_fastcgi broken since #694 / 67541, fixes bug 67606
  Revert "Merge branch 'pull-request/694' into PHP-5.6"
  PHP 5.3.29RC1
  Fix missing type checks in various functions
  ...

Conflicts:
ext/date/php_date.c
ext/standard/math.c

1  2 
ext/com_dotnet/com_dotnet.c
ext/date/php_date.c
ext/standard/math.c
sapi/fpm/fpm/fpm_main.c

index c582309c289a01808449d77debd8b546b0c8fcbd,073f40f83a2d62dadaccddfa418b41199f73c639..9698fb341969cf39cfd64f812c6178514d0a9f11
@@@ -207,12 -208,38 +208,38 @@@ PHP_FUNCTION(com_dotnet_create_instance
                        if (err)
                                LocalFree(err);
                        php_com_throw_exception(hr, buf TSRMLS_CC);
 -                      ZVAL_NULL(object);
 +                      ZEND_CTOR_MAKE_NULL();
                        return;
                }
-       }
+               stuff = (struct dotnet_runtime_stuff*)COMG(dotnet_runtime_stuff);
  
-       stuff = (struct dotnet_runtime_stuff*)COMG(dotnet_runtime_stuff);
+       } else if (stuff->dotnet_domain == NULL) {
+               where = "ICorRuntimeHost_GetDefaultDomain";
+               hr = ICorRuntimeHost_GetDefaultDomain(stuff->dotnet_host, &unk);
+               if (FAILED(hr)) {
+                       char buf[1024];
+                       char *err = php_win32_error_to_msg(hr);
+                       snprintf(buf, sizeof(buf), "Failed to re-init .Net domain [%s] %s", where, err);
+                       if (err)
+                               LocalFree(err);
+                       php_com_throw_exception(hr, buf TSRMLS_CC);
+                       ZVAL_NULL(object);
+                       return;
+               }
+               where = "QI: System._AppDomain";
+               hr = IUnknown_QueryInterface(unk, &IID_mscorlib_System_AppDomain, (LPVOID*)&stuff->dotnet_domain);
+               if (FAILED(hr)) {
+                       char buf[1024];
+                       char *err = php_win32_error_to_msg(hr);
+                       snprintf(buf, sizeof(buf), "Failed to re-init .Net domain [%s] %s", where, err);
+                       if (err)
+                               LocalFree(err);
+                       php_com_throw_exception(hr, buf TSRMLS_CC);
+                       ZVAL_NULL(object);
+                       return;
+               }
+       }
  
        obj = CDNO_FETCH(object);
  
index cc0499da0be55840a1e5ecd2d32bae1cb47c0a03,24e16e3936730de183db83c84378fd89b928ef97..6cea2af048e0a1e61eeffb05158569a941b997e5
@@@ -2601,11 -2653,12 +2602,12 @@@ PHP_FUNCTION(date_create
                RETURN_FALSE;
        }
  
-       php_date_instantiate(date_ce_date, return_value TSRMLS_CC);
-       if (!php_date_initialize(Z_PHPDATE_P(return_value), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
-               zval_dtor(return_value);
+       php_date_instantiate(date_ce_date, &datetime_object TSRMLS_CC);
 -      if (!php_date_initialize(zend_object_store_get_object(&datetime_object TSRMLS_CC), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
++      if (!php_date_initialize(Z_PHPDATE_P(&datetime_object), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
+               zval_dtor(&datetime_object);
                RETURN_FALSE;
        }
+       RETVAL_ZVAL(&datetime_object, 0, 0);
  }
  /* }}} */
  
@@@ -2622,11 -2676,12 +2625,12 @@@ PHP_FUNCTION(date_create_immutable
                RETURN_FALSE;
        }
  
-       php_date_instantiate(date_ce_immutable, return_value TSRMLS_CC);
-       if (!php_date_initialize(Z_PHPDATE_P(return_value), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
-               zval_dtor(return_value);
+       php_date_instantiate(date_ce_immutable, &datetime_object TSRMLS_CC);
 -      if (!php_date_initialize(zend_object_store_get_object(&datetime_object TSRMLS_CC), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
++      if (!php_date_initialize(Z_PHPDATE_P(&datetime_object), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
+               zval_dtor(&datetime_object);
                RETURN_FALSE;
        }
+       RETVAL_ZVAL(&datetime_object, 0, 0);
  }
  /* }}} */
  
@@@ -2643,11 -2699,12 +2648,12 @@@ PHP_FUNCTION(date_create_from_format
                RETURN_FALSE;
        }
  
-       php_date_instantiate(date_ce_date, return_value TSRMLS_CC);
-       if (!php_date_initialize(Z_PHPDATE_P(return_value), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
-               zval_dtor(return_value);
+       php_date_instantiate(date_ce_date, &datetime_object TSRMLS_CC);
 -      if (!php_date_initialize(zend_object_store_get_object(&datetime_object TSRMLS_CC), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
++      if (!php_date_initialize(Z_PHPDATE_P(&datetime_object), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
+               zval_dtor(&datetime_object);
                RETURN_FALSE;
        }
+       RETVAL_ZVAL(&datetime_object, 0, 0);
  }
  /* }}} */
  
@@@ -2664,11 -2722,12 +2671,12 @@@ PHP_FUNCTION(date_create_immutable_from
                RETURN_FALSE;
        }
  
-       php_date_instantiate(date_ce_immutable, return_value TSRMLS_CC);
-       if (!php_date_initialize(Z_PHPDATE_P(return_value), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
-               zval_dtor(return_value);
+       php_date_instantiate(date_ce_immutable, &datetime_object TSRMLS_CC);
 -      if (!php_date_initialize(zend_object_store_get_object(&datetime_object TSRMLS_CC), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
++      if (!php_date_initialize(Z_PHPDATE_P(&datetime_object), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
+               zval_dtor(&datetime_object);
                RETURN_FALSE;
        }
+       RETVAL_ZVAL(&datetime_object, 0, 0);
  }
  /* }}} */
  
@@@ -2738,12 -2797,12 +2746,12 @@@ PHP_METHOD(DateTimeImmutable, createFro
  }
  /* }}} */
  
- static int php_date_initialize_from_hash(zval *return_value, php_date_obj **dateobj, HashTable *myht TSRMLS_DC) /* {{{ */
+ static int php_date_initialize_from_hash(php_date_obj **dateobj, HashTable *myht TSRMLS_DC)
  {
 -      zval            **z_date = NULL;
 -      zval            **z_timezone = NULL;
 -      zval            **z_timezone_type = NULL;
 -      zval             *tmp_obj = NULL;
 +      zval             *z_date;
 +      zval             *z_timezone;
 +      zval             *z_timezone_type;
 +      zval              tmp_obj;
        timelib_tzinfo   *tzi;
        php_timezone_obj *tzobj;
  
@@@ -2809,8 -2866,8 +2817,8 @@@ PHP_METHOD(DateTime, __set_state
        myht = HASH_OF(array);
  
        php_date_instantiate(date_ce_date, return_value TSRMLS_CC);
 -      dateobj = (php_date_obj *) zend_object_store_get_object(return_value TSRMLS_CC);
 +      dateobj = Z_PHPDATE_P(return_value);
-       if (!php_date_initialize_from_hash(return_value, &dateobj, myht TSRMLS_CC)) {
+       if (!php_date_initialize_from_hash(&dateobj, myht TSRMLS_CC)) {
                php_error(E_ERROR, "Invalid serialization data for DateTime object");
        }
  }
@@@ -2831,8 -2888,8 +2839,8 @@@ PHP_METHOD(DateTimeImmutable, __set_sta
        myht = HASH_OF(array);
  
        php_date_instantiate(date_ce_immutable, return_value TSRMLS_CC);
 -      dateobj = (php_date_obj *) zend_object_store_get_object(return_value TSRMLS_CC);
 +      dateobj = Z_PHPDATE_P(return_value);
-       if (!php_date_initialize_from_hash(return_value, &dateobj, myht TSRMLS_CC)) {
+       if (!php_date_initialize_from_hash(&dateobj, myht TSRMLS_CC)) {
                php_error(E_ERROR, "Invalid serialization data for DateTimeImmutable object");
        }
  }
Simple merge
Simple merge