--- active-3.1/ext/date/php_date.c	2009-12-02 16:07:36.000000000 +0100
+++ php-5.3.1/ext/date/php_date.c	2009-10-27 11:41:45.000000000 +0100
@@ -774,7 +774,7 @@
  *   "All date-times in RSS conform to the Date and Time Specification of RFC 822,
  *   with the exception that the year may be expressed with two characters or four characters (four preferred)"
  */
-	REGISTER_STRING_CONSTANT("DATE_RSS",     DATE_FORMAT_RFC822, CONST_CS | CONST_PERSISTENT);
+	REGISTER_STRING_CONSTANT("DATE_RSS",     DATE_FORMAT_RFC1123, CONST_CS | CONST_PERSISTENT);
 	REGISTER_STRING_CONSTANT("DATE_W3C",     DATE_FORMAT_RFC3339, CONST_CS | CONST_PERSISTENT);
 
 	REGISTER_LONG_CONSTANT("SUNFUNCS_RET_TIMESTAMP", SUNFUNCS_RET_TIMESTAMP, CONST_CS | CONST_PERSISTENT);
@@ -874,7 +874,7 @@
 		time_t     the_time;
 		char      *tzid = NULL;
 		
-		the_time = sapi_get_request_time(TSRMLS_C);
+		the_time = time(NULL);
 		ta = php_localtime_r(&the_time, &tmbuf);
 		if (ta) {
 			tzid = timelib_timezone_id_from_abbr(ta->tm_zone, ta->tm_gmtoff, ta->tm_isdst);
@@ -1032,7 +1032,7 @@
 			offset->offset = (t->z) * -60;
 			offset->leap_secs = 0;
 			offset->is_dst = 0;
-			offset->abbr = malloc(9); /* GMT?xxxx\0 */
+			offset->abbr = malloc(9); /* GMT±xxxx\0 */
 			snprintf(offset->abbr, 9, "GMT%c%02d%02d", 
 			                          localtime ? ((offset->offset < 0) ? '-' : '+') : '+',
 			                          localtime ? abs(offset->offset / 3600) : 0,
@@ -1172,7 +1172,7 @@
 		RETURN_FALSE;
 	}
 	if (ZEND_NUM_ARGS() == 1) {
-		ts = sapi_get_request_time(TSRMLS_C);
+		ts = time(NULL);
 	}
 
 	string = php_format_date(format, format_len, ts, localtime TSRMLS_CC);
@@ -1241,7 +1241,7 @@
 			offset->offset = (t->z - (t->dst * 60)) * -60;
 			offset->leap_secs = 0;
 			offset->is_dst = t->dst;
-			offset->abbr = malloc(9); /* GMT?xxxx\0 */
+			offset->abbr = malloc(9); /* GMT±xxxx\0 */
 			snprintf(offset->abbr, 9, "GMT%c%02d%02d", 
 			                          !localtime ? ((offset->offset < 0) ? '-' : '+') : '+',
 			                          !localtime ? abs(offset->offset / 3600) : 0,
@@ -1338,7 +1338,7 @@
 	}
 
 	if (ZEND_NUM_ARGS() == 1) {
-		ts = sapi_get_request_time(TSRMLS_C);
+		ts = time(NULL);
 	}
 
 	ret = php_idate(format[0], ts, 0);
@@ -1413,7 +1413,7 @@
 		now = timelib_time_ctor();
 		now->tz_info = tzi;
 		now->zone_type = TIMELIB_ZONETYPE_ID;
-		timelib_unixtime2local(now, (timelib_sll) sapi_get_request_time(TSRMLS_C));
+		timelib_unixtime2local(now, (timelib_sll) time(NULL));
 	} else {
 		RETURN_FALSE;
 	}
@@ -1457,12 +1457,12 @@
 	/* Initialize structure with current time */
 	now = timelib_time_ctor();
 	if (gmt) {
-		timelib_unixtime2gmt(now, (timelib_sll) sapi_get_request_time(TSRMLS_C));
+		timelib_unixtime2gmt(now, (timelib_sll) time(NULL));
 	} else {
 		tzi = get_timezone_info(TSRMLS_C);
 		now->tz_info = tzi;
 		now->zone_type = TIMELIB_ZONETYPE_ID;
-		timelib_unixtime2local(now, (timelib_sll) sapi_get_request_time(TSRMLS_C));
+		timelib_unixtime2local(now, (timelib_sll) time(NULL));
 	}
 	/* Fill in the new data */
 	switch (ZEND_NUM_ARGS()) {
@@ -1582,7 +1582,7 @@
 	timelib_tzinfo      *tzi;
 	timelib_time_offset *offset = NULL;
 
-	timestamp = (long) sapi_get_request_time(TSRMLS_C);
+	timestamp = (long) time(NULL);
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &format, &format_len, &timestamp) == FAILURE) {
 		RETURN_FALSE;
@@ -1674,7 +1674,7 @@
    Return current UNIX timestamp */
 PHP_FUNCTION(time)
 {
-	RETURN_LONG((long)sapi_get_request_time(TSRMLS_C));
+	RETURN_LONG((long)time(NULL));
 }
 /* }}} */
 
@@ -1682,7 +1682,7 @@
    Returns the results of the C system call localtime as an associative array if the associative_array argument is set to 1 other wise it is a regular array */
 PHP_FUNCTION(localtime)
 {
-	long timestamp = (long)sapi_get_request_time(TSRMLS_C);
+	long timestamp = (long)time(NULL);
 	zend_bool associative = 0;
 	timelib_tzinfo *tzi;
 	timelib_time   *ts;
@@ -1729,7 +1729,7 @@
    Get date/time information */
 PHP_FUNCTION(getdate)
 {
-	long timestamp = (long)sapi_get_request_time(TSRMLS_C);
+	long timestamp = (long)time(NULL);
 	timelib_tzinfo *tzi;
 	timelib_time   *ts;
 
@@ -1954,7 +1954,7 @@
 	REGISTER_DATE_CLASS_CONST_STRING("RFC1123", DATE_FORMAT_RFC1123);
 	REGISTER_DATE_CLASS_CONST_STRING("RFC2822", DATE_FORMAT_RFC2822);
 	REGISTER_DATE_CLASS_CONST_STRING("RFC3339", DATE_FORMAT_RFC3339);
-	REGISTER_DATE_CLASS_CONST_STRING("RSS",     DATE_FORMAT_RFC822);
+	REGISTER_DATE_CLASS_CONST_STRING("RSS",     DATE_FORMAT_RFC1123);
 	REGISTER_DATE_CLASS_CONST_STRING("W3C",     DATE_FORMAT_RFC3339);
 
 
@@ -2427,7 +2427,7 @@
 			now->tz_abbr = new_abbr;
 			break;
 	}
-	timelib_unixtime2local(now, (timelib_sll) sapi_get_request_time(TSRMLS_C));
+	timelib_unixtime2local(now, (timelib_sll) time(NULL));
 
 	timelib_fill_holes(dateobj->time, now, TIMELIB_NO_CLONE);
 	timelib_update_ts(dateobj->time, tzi);
--- active-3.1/Zend/zend_vm_def.h	2009-12-03 08:33:28.000000000 +0100
+++ php-5.3.1/Zend/zend_vm_def.h	2009-11-02 19:11:33.000000000 +0100
@@ -64,19 +64,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-ZEND_VM_HANDLER(120, ZEND_DII, CONST|TMP|VAR|CV, CONST|TMP|VAR|CV)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op1, free_op2;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        GET_OP1_ZVAL_PTR(BP_VAR_R),
-        GET_OP2_ZVAL_PTR(BP_VAR_R) TSRMLS_CC);
-    FREE_OP1();
-    FREE_OP2();
-    ZEND_VM_NEXT_OPCODE();
-}
-
 ZEND_VM_HANDLER(4, ZEND_DIV, CONST|TMP|VAR|CV, CONST|TMP|VAR|CV)
 {
 	zend_op *opline = EX(opline);
@@ -519,11 +506,6 @@
 	ZEND_VM_DISPATCH_TO_HELPER_EX(zend_binary_assign_op_helper, binary_op, div_function);
 }
 
-ZEND_VM_HANDLER(121, ZEND_ASSIGN_DII, VAR|UNUSED|CV, CONST|TMP|VAR|UNUSED|CV)
-{
-	ZEND_VM_DISPATCH_TO_HELPER_EX(zend_binary_assign_op_helper, binary_op, dii_function);
-}
-
 ZEND_VM_HANDLER(27, ZEND_ASSIGN_MOD, VAR|UNUSED|CV, CONST|TMP|VAR|UNUSED|CV)
 {
 	ZEND_VM_DISPATCH_TO_HELPER_EX(zend_binary_assign_op_helper, binary_op, mod_function);
@@ -3903,7 +3885,11 @@
 
 	switch (opline->extended_value & ZEND_ISSET_ISEMPTY_MASK) {
 		case ZEND_ISSET:
-			Z_LVAL(EX_T(opline->result.u.var).tmp_var) = isset;
+			if (isset && Z_TYPE_PP(value) == IS_NULL) {
+				Z_LVAL(EX_T(opline->result.u.var).tmp_var) = 0;
+			} else {
+				Z_LVAL(EX_T(opline->result.u.var).tmp_var) = isset;
+			}
 			break;
 		case ZEND_ISEMPTY:
 			if (!isset || !i_zend_is_true(*value)) {
@@ -3966,7 +3952,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
--- active-3.1/Zend/zend_vm_execute.h	2009-12-03 09:09:11.000000000 +0100
+++ php-5.3.1/Zend/zend_vm_execute.h	2009-11-02 19:11:33.000000000 +0100
@@ -1332,7 +1332,6 @@
 
 	if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
 		retval = zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
-
 	} else {
 		target_symbol_table = zend_get_target_symbol_table(opline, EX(Ts), type, varname TSRMLS_CC);
 /*
@@ -2275,7 +2274,11 @@
 
 	switch (opline->extended_value & ZEND_ISSET_ISEMPTY_MASK) {
 		case ZEND_ISSET:
-			Z_LVAL(EX_T(opline->result.u.var).tmp_var) = isset;
+			if (isset && Z_TYPE_PP(value) == IS_NULL) {
+				Z_LVAL(EX_T(opline->result.u.var).tmp_var) = 0;
+			} else {
+				Z_LVAL(EX_T(opline->result.u.var).tmp_var) = isset;
+			}
 			break;
 		case ZEND_ISEMPTY:
 			if (!isset || !i_zend_is_true(*value)) {
@@ -2394,19 +2397,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        &opline->op1.u.constant,
-        &opline->op2.u.constant TSRMLS_CC);
-
-
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -3000,19 +2990,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_CONST_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op2;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        &opline->op1.u.constant,
-        _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC) TSRMLS_CC);
-
-    zval_dtor(free_op2.var);
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_CONST_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -3479,19 +3456,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op2;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        &opline->op1.u.constant,
-        _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC) TSRMLS_CC);
-
-    if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -4148,19 +4112,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        &opline->op1.u.constant,
-        _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC) TSRMLS_CC);
-
-
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -5591,7 +5542,11 @@
 
 	switch (opline->extended_value & ZEND_ISSET_ISEMPTY_MASK) {
 		case ZEND_ISSET:
-			Z_LVAL(EX_T(opline->result.u.var).tmp_var) = isset;
+			if (isset && Z_TYPE_PP(value) == IS_NULL) {
+				Z_LVAL(EX_T(opline->result.u.var).tmp_var) = 0;
+			} else {
+				Z_LVAL(EX_T(opline->result.u.var).tmp_var) = isset;
+			}
 			break;
 		case ZEND_ISEMPTY:
 			if (!isset || !i_zend_is_true(*value)) {
@@ -5733,19 +5688,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_TMP_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op1;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC),
-        &opline->op2.u.constant TSRMLS_CC);
-    zval_dtor(free_op1.var);
-
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_TMP_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -6231,19 +6173,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op1, free_op2;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC),
-        _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC) TSRMLS_CC);
-    zval_dtor(free_op1.var);
-    zval_dtor(free_op2.var);
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -6710,19 +6639,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op1, free_op2;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC),
-        _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC) TSRMLS_CC);
-    zval_dtor(free_op1.var);
-    if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -7282,19 +7198,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op1;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC),
-        _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC) TSRMLS_CC);
-    zval_dtor(free_op1.var);
-
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -9142,7 +9045,11 @@
 
 	switch (opline->extended_value & ZEND_ISSET_ISEMPTY_MASK) {
 		case ZEND_ISSET:
-			Z_LVAL(EX_T(opline->result.u.var).tmp_var) = isset;
+			if (isset && Z_TYPE_PP(value) == IS_NULL) {
+				Z_LVAL(EX_T(opline->result.u.var).tmp_var) = 0;
+			} else {
+				Z_LVAL(EX_T(opline->result.u.var).tmp_var) = isset;
+			}
 			break;
 		case ZEND_ISEMPTY:
 			if (!isset || !i_zend_is_true(*value)) {
@@ -9266,19 +9173,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op1;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        _get_zval_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC),
-        &opline->op2.u.constant TSRMLS_CC);
-    if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
-
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -9698,11 +9592,6 @@
 	return zend_binary_assign_op_helper_SPEC_VAR_CONST(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_VAR_CONST(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_VAR_CONST(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -10953,7 +10842,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
@@ -11082,19 +10975,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op1, free_op2;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        _get_zval_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC),
-        _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC) TSRMLS_CC);
-    if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
-    zval_dtor(free_op2.var);
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -11515,11 +11395,6 @@
 	return zend_binary_assign_op_helper_SPEC_VAR_TMP(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_VAR_TMP(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_VAR_TMP(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -12716,7 +12591,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
@@ -12845,19 +12724,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op1, free_op2;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        _get_zval_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC),
-        _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC) TSRMLS_CC);
-    if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
-    if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -13278,11 +13144,6 @@
 	return zend_binary_assign_op_helper_SPEC_VAR_VAR(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_VAR_VAR(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_VAR_VAR(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -14530,7 +14391,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
@@ -14834,11 +14699,6 @@
 	return zend_binary_assign_op_helper_SPEC_VAR_UNUSED(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_VAR_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_VAR_UNUSED(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_VAR_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_VAR_UNUSED(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -15256,19 +15116,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op1;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        _get_zval_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC),
-        _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC) TSRMLS_CC);
-    if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
-
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -15688,11 +15535,6 @@
 	return zend_binary_assign_op_helper_SPEC_VAR_CV(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_VAR_CV(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_VAR_CV(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -16935,7 +16777,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
@@ -17315,11 +17161,6 @@
 	return zend_binary_assign_op_helper_SPEC_UNUSED_CONST(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_UNUSED_CONST(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_UNUSED_CONST(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -18126,7 +17967,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
@@ -18428,11 +18273,6 @@
 	return zend_binary_assign_op_helper_SPEC_UNUSED_TMP(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_UNUSED_TMP(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_UNUSED_TMP(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -19184,7 +19024,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
@@ -19486,11 +19330,6 @@
 	return zend_binary_assign_op_helper_SPEC_UNUSED_VAR(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_UNUSED_VAR(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_UNUSED_VAR(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -20242,7 +20081,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
@@ -20543,11 +20386,6 @@
 	return zend_binary_assign_op_helper_SPEC_UNUSED_UNUSED(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_UNUSED_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_UNUSED_UNUSED(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_UNUSED_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_UNUSED_UNUSED(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -20810,11 +20648,6 @@
 	return zend_binary_assign_op_helper_SPEC_UNUSED_CV(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_UNUSED_CV(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_UNUSED_CV(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -21564,7 +21397,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
@@ -21875,7 +21712,6 @@
 
 	if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
 		retval = zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
-
 	} else {
 		target_symbol_table = zend_get_target_symbol_table(opline, EX(Ts), type, varname TSRMLS_CC);
 /*
@@ -22914,7 +22750,11 @@
 
 	switch (opline->extended_value & ZEND_ISSET_ISEMPTY_MASK) {
 		case ZEND_ISSET:
-			Z_LVAL(EX_T(opline->result.u.var).tmp_var) = isset;
+			if (isset && Z_TYPE_PP(value) == IS_NULL) {
+				Z_LVAL(EX_T(opline->result.u.var).tmp_var) = 0;
+			} else {
+				Z_LVAL(EX_T(opline->result.u.var).tmp_var) = isset;
+			}
 			break;
 		case ZEND_ISEMPTY:
 			if (!isset || !i_zend_is_true(*value)) {
@@ -23037,19 +22877,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        _get_zval_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC),
-        &opline->op2.u.constant TSRMLS_CC);
-
-
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -23468,11 +23295,6 @@
 	return zend_binary_assign_op_helper_SPEC_CV_CONST(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_CV_CONST(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_CV_CONST(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -24560,7 +24382,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
@@ -24687,19 +24513,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op2;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        _get_zval_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC),
-        _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC) TSRMLS_CC);
-
-    zval_dtor(free_op2.var);
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -25119,11 +24932,6 @@
 	return zend_binary_assign_op_helper_SPEC_CV_TMP(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_CV_TMP(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_CV_TMP(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -26214,7 +26022,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
@@ -26341,19 +26153,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op2;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        _get_zval_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC),
-        _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC) TSRMLS_CC);
-
-    if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -26773,11 +26572,6 @@
 	return zend_binary_assign_op_helper_SPEC_CV_VAR(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_CV_VAR(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_CV_VAR(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -27918,7 +27712,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
@@ -28219,11 +28017,6 @@
 	return zend_binary_assign_op_helper_SPEC_CV_UNUSED(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_CV_UNUSED(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_CV_UNUSED(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -28543,19 +28336,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-static int ZEND_FASTCALL  ZEND_DII_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-    zend_op *opline = EX(opline);
-
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        _get_zval_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC),
-        _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC) TSRMLS_CC);
-
-
-    ZEND_VM_NEXT_OPCODE();
-}
-
 static int ZEND_FASTCALL  ZEND_DIV_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	zend_op *opline = EX(opline);
@@ -28974,11 +28754,6 @@
 	return zend_binary_assign_op_helper_SPEC_CV_CV(div_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
 }
 
-static int ZEND_FASTCALL  ZEND_ASSIGN_DII_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-	return zend_binary_assign_op_helper_SPEC_CV_CV(dii_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-}
-
 static int ZEND_FASTCALL  ZEND_ASSIGN_MOD_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
 	return zend_binary_assign_op_helper_SPEC_CV_CV(mod_function, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -30114,7 +29889,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
@@ -33211,31 +32990,15 @@
   	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
-  	ZEND_DII_SPEC_CONST_CONST_HANDLER,
-  	ZEND_DII_SPEC_CONST_TMP_HANDLER,
-  	ZEND_DII_SPEC_CONST_VAR_HANDLER,
   	ZEND_NULL_HANDLER,
-  	ZEND_DII_SPEC_CONST_CV_HANDLER,
-  	ZEND_DII_SPEC_TMP_CONST_HANDLER,
-  	ZEND_DII_SPEC_TMP_TMP_HANDLER,
-  	ZEND_DII_SPEC_TMP_VAR_HANDLER,
   	ZEND_NULL_HANDLER,
-  	ZEND_DII_SPEC_TMP_CV_HANDLER,
-  	ZEND_DII_SPEC_VAR_CONST_HANDLER,
-  	ZEND_DII_SPEC_VAR_TMP_HANDLER,
-  	ZEND_DII_SPEC_VAR_VAR_HANDLER,
   	ZEND_NULL_HANDLER,
-  	ZEND_DII_SPEC_VAR_CV_HANDLER,
   	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
-  	ZEND_DII_SPEC_CV_CONST_HANDLER,
-  	ZEND_DII_SPEC_CV_TMP_HANDLER,
-  	ZEND_DII_SPEC_CV_VAR_HANDLER,
   	ZEND_NULL_HANDLER,
-  	ZEND_DII_SPEC_CV_CV_HANDLER,
   	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
@@ -33246,21 +33009,37 @@
   	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_VAR_CONST_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_VAR_TMP_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_VAR_VAR_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_VAR_UNUSED_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_VAR_CV_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_UNUSED_CONST_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_UNUSED_TMP_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_UNUSED_VAR_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_UNUSED_UNUSED_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_UNUSED_CV_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_CV_CONST_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_CV_TMP_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_CV_VAR_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_CV_UNUSED_HANDLER,
-  	ZEND_ASSIGN_DII_SPEC_CV_CV_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
+  	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
   	ZEND_NULL_HANDLER,
--- active-3.1/ext/standard/string.c	2009-12-11 20:18:07.000000000 +0100
+++ php-5.3.1/ext/standard/string.c	2009-08-31 14:28:46.000000000 +0200
@@ -5109,94 +5109,33 @@
 	long split_length = 1;
 	char *p;
 	int n_reg_segments;
-	zval *split;
-
-	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &str, &str_len, &split) == FAILURE) {
+	
+	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &str, &str_len, &split_length) == FAILURE) {
 		return;
 	}
 
-	if (Z_TYPE_P(split) == IS_ARRAY) {
-	
-		zval **d;
-		HashPosition p;
-		HashTable *ht = Z_ARRVAL_P(split);
-		split_length  = zend_hash_num_elements(ht);
-
-		if (split_length < 1) {
-			php_error_docref(NULL TSRMLS_CC, E_WARNING, "Split sequence array is empty");
-			RETURN_FALSE;
-		}
-
-		long prev = -1;
-
-		array_init_size(return_value, split_length);
-
-		for(zend_hash_internal_pointer_reset_ex(ht, &p); 
-		zend_hash_get_current_data_ex(ht, (void**) &d, &p) == SUCCESS; 
-		zend_hash_move_forward_ex(ht, &p)) {
-
-			convert_to_long(*d);
-
-			if (Z_LVAL_PP(d) < 0) {
-				Z_LVAL_PP(d)+= str_len;
-			}
-
-			if (prev != -1 && prev >= Z_LVAL_PP(d) || prev == -1 && Z_LVAL_PP(d) < 0) {
-				php_error_docref(NULL TSRMLS_CC, E_WARNING, "The split sequence should be grow from left to right without overlapping");
-				/* free initialized return_value? */
-				RETURN_FALSE;
-			}
-
-			if (Z_LVAL_PP(d) > str_len) {
-				Z_LVAL_PP(d) = str_len;
-			}
-
-			if (prev == -1) {
-
-				if (Z_LVAL_PP(d) != 0) {
-					add_next_index_stringl(return_value, str, Z_LVAL_PP(d), 1);
-				}
-
-			} else {
-				add_next_index_stringl(return_value, str + prev, Z_LVAL_PP(d) - prev, 1);
-			}
-
-			prev = Z_LVAL_PP(d);
-		}
-
-		if (prev < str_len) {
-			add_next_index_stringl(return_value, str + prev, str_len - prev, 1);
-		}
-	
-	} else {
-
-		convert_to_long(split);
-
-		split_length = Z_LVAL_P(split);
-
-		if (split_length <= 0) {
-			php_error_docref(NULL TSRMLS_CC, E_WARNING, "The length of each segment must be greater than zero");
-			RETURN_FALSE;
-		}
+	if (split_length <= 0) {
+		php_error_docref(NULL TSRMLS_CC, E_WARNING, "The length of each segment must be greater than zero");
+		RETURN_FALSE;
+	}
 
-		array_init_size(return_value, ((str_len - 1) / split_length) + 1);
+	array_init_size(return_value, ((str_len - 1) / split_length) + 1);
 
-		if (split_length >= str_len) {
-			add_next_index_stringl(return_value, str, str_len, 1);
-			return;
-		}
+	if (split_length >= str_len) {
+		add_next_index_stringl(return_value, str, str_len, 1);
+		return;
+	}
 
-		n_reg_segments = str_len / split_length;
-		p = str;
+	n_reg_segments = str_len / split_length;
+	p = str;
 
-		while (n_reg_segments-- > 0) {
-			add_next_index_stringl(return_value, p, split_length, 1);
-			p += split_length;
-		}
+	while (n_reg_segments-- > 0) {
+		add_next_index_stringl(return_value, p, split_length, 1);
+		p += split_length;
+	}
 
-		if (p != (str + str_len)) {
-			add_next_index_stringl(return_value, p, (str + str_len - p), 1);
-		}
+	if (p != (str + str_len)) {
+		add_next_index_stringl(return_value, p, (str + str_len - p), 1);
 	}
 }
 /* }}} */
--- active-3.1/ext/mysqli/mysqli_api.c	2009-12-02 18:53:05.000000000 +0100
+++ php-5.3.1/ext/mysqli/mysqli_api.c	2009-10-14 15:51:25.000000000 +0200
@@ -55,27 +55,6 @@
 }
 /* }}} */
 
-/* {{{ proto mixed mysqli_matched_rows(object link)
-   Get number of matched rows in previous MySQL operation */
-PHP_FUNCTION(mysqli_matched_rows)
-{
-	MY_MYSQL                *mysql;
-	zval                    *mysql_link;
-	my_ulonglong    rc;
-
-	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) {
-		return;
-	}
-
-	MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_VALID);
-
-	rc = mysql_matched_rows(mysql->mysql);
-	if (rc == (my_ulonglong) -1) {
-		RETURN_LONG(-1);
-	}
-	MYSQLI_RETURN_LONG_LONG(rc);
-}
-/* }}} */
 
 /* {{{ proto bool mysqli_autocommit(object link, bool mode)
    Turn auto commit on or of */
--- active-3.1/ext/mysqli/mysqli_fe.c	2009-12-02 18:55:49.000000000 +0100
+++ php-5.3.1/ext/mysqli/mysqli_fe.c	2009-01-22 22:01:58.000000000 +0100
@@ -56,7 +56,6 @@
  */
 const zend_function_entry mysqli_functions[] = {
 	PHP_FE(mysqli_affected_rows,						NULL)
-	PHP_FE(mysqli_matched_rows,							NULL)
 	PHP_FE(mysqli_autocommit,							NULL)
 	PHP_FE(mysqli_change_user,							NULL)
 	PHP_FE(mysqli_character_set_name,					NULL)
@@ -87,7 +86,6 @@
 	PHP_FE(mysqli_fetch_assoc,							NULL) 
 	PHP_FE(mysqli_fetch_object,							NULL)
 	PHP_FE(mysqli_fetch_row,							NULL)
-	PHP_FE(mysqli_return,								NULL)
 	PHP_FE(mysqli_field_count,							NULL)
 	PHP_FE(mysqli_field_seek,							NULL)
 	PHP_FE(mysqli_field_tell,							NULL)
@@ -277,8 +275,7 @@
 	PHP_FALIAS(fetch_all,mysqli_fetch_all,NULL)
 #endif
 	PHP_FALIAS(fetch_array,mysqli_fetch_array,NULL)
-	PHP_FALIAS(fetch_assoc,mysqli_fetch_assoc,NULL)
-	PHP_FALIAS(return,mysqli_return,NULL)
+	PHP_FALIAS(fetch_assoc,mysqli_fetch_assoc,NULL) 
 	PHP_FALIAS(fetch_object,mysqli_fetch_object,NULL) 
 	PHP_FALIAS(fetch_row,mysqli_fetch_row,NULL)
 	PHP_FALIAS(field_seek,mysqli_field_seek,NULL)
--- active-3.1/ext/mysqli/mysqli_nonapi.c	2009-12-02 18:59:30.000000000 +0100
+++ php-5.3.1/ext/mysqli/mysqli_nonapi.c	2009-11-12 18:48:36.000000000 +0100
@@ -395,36 +395,6 @@
 }
 /* }}} */
 
-/* {{{ proto mixed mysqli_return(object result) */
-PHP_FUNCTION(mysqli_return)
-{
-#if !defined(MYSQLI_USE_MYSQLND)
-	return;
-#else
-	MYSQL_RES               *result;
-	zval                    *mysql_result;
-
-	long offset = 0;
-	zend_bool clean = 1;
-
-	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|lb", &mysql_result, mysqli_result_class_entry, &offset, &clean) == FAILURE) {
-		return;
-	}
-	MYSQLI_FETCH_RESOURCE(result, MYSQL_RES *, &mysql_result, "mysqli_result", MYSQLI_STATUS_VALID);
-
-	if (!result->m.fetch_field_data) {
-		RETVAL_NULL();
-	}
-
-	result->m.fetch_field_data(result, offset, return_value);
-
-	if (clean) {
-		mysql_free_result(result);
-		MYSQLI_CLEAR_RESOURCE(&mysql_result);
-	}
-#endif
-}
-/* }}} */
 
 /* {{{ proto mixed mysqli_fetch_all (object result [,int resulttype]) 
    Fetches all result rows as an associative array, a numeric array, or both */
@@ -433,7 +403,7 @@
 {
 	MYSQL_RES		*result;
 	zval			*mysql_result;
-	long			mode = MYSQLND_FETCH_ASSOC;
+	long			mode = MYSQLND_FETCH_NUM;
 
 	if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O|l", &mysql_result, mysqli_result_class_entry, &mode) == FAILURE) {
 		return;
--- active-3.1/ext/mysqli/mysqli_prop.c	2009-12-02 19:05:07.000000000 +0100
+++ php-5.3.1/ext/mysqli/mysqli_prop.c	2009-05-27 17:05:28.000000000 +0200
@@ -188,42 +188,6 @@
 }
 /* }}} */
 
-/* {{{ property link_matched_rows_read */
-static int link_matched_rows_read(mysqli_object *obj, zval **retval TSRMLS_DC)
-{
-	MY_MYSQL *mysql;
-	my_ulonglong rc;
-
-	MAKE_STD_ZVAL(*retval);
-
-	CHECK_STATUS(MYSQLI_STATUS_INITIALIZED);
-
-	mysql = (MY_MYSQL *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr;
-
-	if (!mysql) {
-		ZVAL_NULL(*retval);
-	} else {
-		CHECK_STATUS(MYSQLI_STATUS_VALID);
-
-		rc = mysql_matched_rows(mysql->mysql);
-
-		if (rc == (my_ulonglong) -1) {
-			ZVAL_LONG(*retval, -1);
-			return SUCCESS;
-		}
-
-		if (rc < LONG_MAX) {
-			ZVAL_LONG(*retval, rc);
-		} else {
-			char *ret;
-			int l = spprintf(&ret, 0, MYSQLI_LLU_SPEC, rc);
-			ZVAL_STRINGL(*retval, ret, l, 0);
-		}
-	}
-	return SUCCESS;
-}
-/* }}} */
-
 /* link properties */
 MYSQLI_MAP_PROPERTY_FUNC_LONG(link_errno_read, mysql_errno, MYSQLI_GET_MYSQL(MYSQLI_STATUS_INITIALIZED), ulong, "%lu");
 MYSQLI_MAP_PROPERTY_FUNC_STRING(link_error_read, mysql_error, MYSQLI_GET_MYSQL(MYSQLI_STATUS_INITIALIZED));
@@ -352,7 +316,6 @@
 /* }}} */
 const mysqli_property_entry mysqli_link_property_entries[] = {
 	{"affected_rows", 	sizeof("affected_rows") - 1,	link_affected_rows_read, NULL},
-	{"matched_rows",    sizeof("matched_rows") - 1,     link_matched_rows_read, NULL},
 	{"client_info", 	sizeof("client_info") - 1,		link_client_info_read, NULL},
 	{"client_version",	sizeof("client_version") - 1,	link_client_version_read, NULL},
 	{"connect_errno",	sizeof("connect_errno") - 1,	link_connect_errno_read, NULL},
@@ -375,7 +338,6 @@
 /* should not be const, as it is patched during runtime */
 zend_property_info mysqli_link_property_info_entries[] = {
 	{ZEND_ACC_PUBLIC, "affected_rows",	sizeof("affected_rows") - 1,	0, NULL, 0, NULL},
-	{ZEND_ACC_PUBLIC, "matched_rows",   sizeof("matched_rows") - 1,     0, NULL, 0, NULL},
 	{ZEND_ACC_PUBLIC, "client_info",	sizeof("client_info") - 1,		0, NULL, 0, NULL},
 	{ZEND_ACC_PUBLIC, "client_version",	sizeof("client_version") - 1,	0, NULL, 0, NULL},
 	{ZEND_ACC_PUBLIC, "connect_errno",	sizeof("connect_errno") - 1,	0, NULL, 0, NULL},
--- active-3.1/ext/mysqli/php_mysqli_structs.h	2009-12-02 19:05:58.000000000 +0100
+++ php-5.3.1/ext/mysqli/php_mysqli_structs.h	2009-10-14 15:51:25.000000000 +0200
@@ -393,7 +393,6 @@
 
 PHP_FUNCTION(mysqli);
 PHP_FUNCTION(mysqli_affected_rows);
-PHP_FUNCTION(mysqli_matched_rows);
 PHP_FUNCTION(mysqli_autocommit);
 PHP_FUNCTION(mysqli_change_user);
 PHP_FUNCTION(mysqli_character_set_name);
@@ -408,7 +407,6 @@
 PHP_FUNCTION(mysqli_dump_debug_info);
 PHP_FUNCTION(mysqli_errno);
 PHP_FUNCTION(mysqli_error);
-PHP_FUNCTION(mysqli_return);
 PHP_FUNCTION(mysqli_fetch_all);
 PHP_FUNCTION(mysqli_fetch_array);
 PHP_FUNCTION(mysqli_fetch_assoc);
--- active-3.1/ext/mysqlnd/mysqlnd.c	2009-12-02 19:13:05.000000000 +0100
+++ php-5.3.1/ext/mysqlnd/mysqlnd.c	2009-10-14 15:51:25.000000000 +0200
@@ -576,8 +576,6 @@
 	CONN_SET_STATE(conn, CONN_ALLOCED);
 	conn->net.packet_no = 0;
 
-	conn->options.int_and_float_native = 1;
-
 	if (conn->options.timeout_connect) {
 		tv.tv_sec = conn->options.timeout_connect;
 		tv.tv_usec = 0;
@@ -1622,22 +1620,6 @@
 /* }}} */
 
 
-/* {{{ mysqlnd_conn::matched_rows */
-static uint64_t
-MYSQLND_METHOD(mysqlnd_conn, matched_rows)(const MYSQLND * const conn)
-{
-	char *p = conn->last_message;
-
-	if (p && strlen(p) >= 40) {
-		/* Read upsert result */
-		return (uint64_t) strtol(p + sizeof("Rows matched:"), NULL, 10);
-	}
-	/* fallback for selects */
-	return conn->upsert_status.affected_rows;
-}
-/* }}} */
-
-
 /* {{{ mysqlnd_conn::warning_count */
 static unsigned int
 MYSQLND_METHOD(mysqlnd_conn, warning_count)(const MYSQLND * const conn)
@@ -2213,7 +2195,6 @@
 
 	MYSQLND_METHOD(mysqlnd_conn, insert_id),
 	MYSQLND_METHOD(mysqlnd_conn, affected_rows),
-	MYSQLND_METHOD(mysqlnd_conn, matched_rows),
 	MYSQLND_METHOD(mysqlnd_conn, warning_count),
 	MYSQLND_METHOD(mysqlnd_conn, field_count),
 
--- active-3.1/ext/mysqlnd/mysqlnd.h	2009-12-02 19:15:24.000000000 +0100
+++ php-5.3.1/ext/mysqlnd/mysqlnd.h	2009-10-14 15:51:25.000000000 +0200
@@ -141,7 +141,6 @@
 #define mysqlnd_field_count(conn)		(conn)->field_count
 #define mysqlnd_insert_id(conn)			(conn)->upsert_status.last_insert_id
 #define mysqlnd_affected_rows(conn)		(conn)->upsert_status.affected_rows
-#define mysqlnd_matched_rows(conn)		(conn)->m->get_matched_rows((conn))
 #define mysqlnd_warning_count(conn)		(conn)->upsert_status.warning_count
 #define mysqlnd_info(conn)  			(conn)->last_message
 #define mysqlnd_get_server_info(conn)	(conn)->server_version
@@ -193,7 +192,6 @@
 #define mysqlnd_field_count(conn)		(conn)->m->get_field_count((conn))
 #define mysqlnd_insert_id(conn)			(conn)->m->get_last_insert_id((conn))
 #define mysqlnd_affected_rows(conn)		(conn)->m->get_affected_rows((conn))
-#define mysqlnd_matched_rows(conn)		(conn)->m->get_matched_rows((conn))
 #define mysqlnd_warning_count(conn)		(conn)->m->get_warning_count((conn))
 #define mysqlnd_info(conn)				(conn)->m->get_last_message((conn))
 #define mysqlnd_get_server_info(conn)	(conn)->m->get_server_information((conn))
--- active-3.1/ext/mysqlnd/mysqlnd_libmysql_compat.h	2009-12-02 19:16:18.000000000 +0100
+++ php-5.3.1/ext/mysqlnd/mysqlnd_libmysql_compat.h	2009-05-29 15:09:47.000000000 +0200
@@ -40,7 +40,6 @@
 
 /* functions */
 #define mysql_affected_rows(r)			mysqlnd_affected_rows((r))
-#define mysql_matched_rows(r)			mysqlnd_matched_rows((r))
 #define mysql_autocommit(r,m)			mysqlnd_autocommit((r),(m))
 #define mysql_change_user(r,a,b,c)		mysqlnd_change_user((r), (a), (b), (c))
 #define mysql_character_set_name(c)		mysqlnd_character_set_name((c))
--- active-3.1/ext/mysqlnd/mysqlnd_structs.h	2009-12-02 19:17:39.000000000 +0100
+++ php-5.3.1/ext/mysqlnd/mysqlnd_structs.h	2009-10-14 15:51:25.000000000 +0200
@@ -274,7 +274,6 @@
 
 	uint64_t			(*get_last_insert_id)(const MYSQLND * const conn);
 	uint64_t			(*get_affected_rows)(const MYSQLND * const conn);
-	uint64_t			(*get_matched_rows)(const MYSQLND * const conn);
 	unsigned int		(*get_warning_count)(const MYSQLND * const conn);
 
 	unsigned int		(*get_field_count)(const MYSQLND * const conn);
--- active-3.1/ext/mysqlnd/mysqlnd_wireprotocol.c	2009-12-02 19:21:31.000000000 +0100
+++ php-5.3.1/ext/mysqlnd/mysqlnd_wireprotocol.c	2009-10-14 15:51:25.000000000 +0200
@@ -1566,7 +1566,8 @@
 			}
 
 #ifdef MYSQLND_STRING_TO_INT_CONVERSION
-			if (as_int_or_float && perm_bind.php_type == IS_LONG)
+			if (as_int_or_float && perm_bind.php_type == IS_LONG &&
+				perm_bind.pack_len <= SIZEOF_LONG)
 			{
 				zend_uchar save = *(p + len);
 				/* We have to make it ASCIIZ temporarily */
--- active-3.1/ext/session/session.c	2009-12-02 14:00:20.000000000 +0100
+++ php-5.3.1/ext/session/session.c	2009-07-28 10:54:23.000000000 +0200
@@ -1144,7 +1144,7 @@
 	ADD_HEADER("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
 
 	/* For HTTP/1.1 conforming clients and the rest (MSIE 5) */
-	ADD_HEADER("Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
+	ADD_HEADER("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
 
 	/* For HTTP/1.0 conforming clients */
 	ADD_HEADER("Pragma: no-cache");
--- active-3.1/ext/oci8/oci8.c	2009-12-02 15:57:34.000000000 +0100
+++ php-5.3.1/ext/oci8/oci8.c	2009-10-09 16:44:43.000000000 +0200
@@ -12,7 +12,7 @@
    | obtain it through the world-wide-web, please send a note to          |
    | license@php.net so we can mail you a copy immediately.               |
    +----------------------------------------------------------------------+
-   | Authors: Stig S?ther Bakken <ssb@php.net>                            |
+   | Authors: Stig Sęther Bakken <ssb@php.net>                            |
    |          Thies C. Arntzen <thies@thieso.net>                         |
    |          Maxim Maletsky <maxim@maxim.cx>                             |
    |                                                                      |
@@ -1768,7 +1768,7 @@
 		smart_str_append_unsigned_ex(&hashed_details, charsetid_nls_lang, 0);
 	}
 
-	timestamp = sapi_get_request_time(TSRMLS_C);
+	timestamp = time(NULL);
 
 	smart_str_append_unsigned_ex(&hashed_details, session_mode, 0);
 	smart_str_0(&hashed_details);
@@ -2213,7 +2213,7 @@
 {
 	int result = 0;
 	zend_bool in_call_save = OCI_G(in_call);
-	time_t timestamp = sapi_get_request_time(TSRMLS_C);
+	time_t timestamp = time(NULL);
 
 	if (connection->is_stub) {
 		return 0;
@@ -2527,7 +2527,7 @@
 	time_t timestamp;
 	php_oci_connection *connection;
 
-	timestamp = sapi_get_request_time(TSRMLS_C);
+	timestamp = time(NULL);
 
 	/* Persistent connection stubs are also counted as they have private session pools */
 	if (le->type == le_pconnection) {
@@ -2886,7 +2886,7 @@
 #if (OCI_MAJOR_VERSION > 10)
 	ub4 purity = -2;				/* Illegal value to initialize */
 #endif
-	time_t timestamp = sapi_get_request_time(TSRMLS_C);
+	time_t timestamp = time(NULL);
 	ub4 statement_cache_size = (OCI_G(statement_cache_size) > 0) ? OCI_G(statement_cache_size) : 0;
 
 	/* Persistent connections have private session pools */
@@ -3103,7 +3103,7 @@
 	}
 
 	if (OCI_G(ping_interval) >= 0) {
-		time_t timestamp = sapi_get_request_time(TSRMLS_C);
+		time_t timestamp = time(NULL);
 		*next_pingp = timestamp + OCI_G(ping_interval);
 	} else {
 		*next_pingp = 0;
--- active-3.1/ext/sqlite/sess_sqlite.c	2009-12-02 15:58:51.000000000 +0100
+++ php-5.3.1/ext/sqlite/sess_sqlite.c	2008-12-31 12:15:49.000000000 +0100
@@ -144,7 +144,7 @@
 	int binlen;
 	int rv;
 	
-	t = sapi_get_request_time(TSRMLS_C);
+	t = time(NULL);
 
 	binary = safe_emalloc(1 + vallen / 254, 257, 3);
 	binlen = sqlite_encode_binary((const unsigned char*)val, vallen, binary);
@@ -173,7 +173,7 @@
 {
 	PS_SQLITE_DATA;
 	int rv;
-	time_t t = sapi_get_request_time(TSRMLS_C);
+	time_t t = time(NULL);
 
 	rv = sqlite_exec_printf(db, 
 			"DELETE FROM session_data WHERE (%d - updated) > %d", 
--- active-3.1/ext/ftp/ftp.c	2009-12-02 15:59:45.000000000 +0100
+++ php-5.3.1/ext/ftp/ftp.c	2009-10-09 16:20:17.000000000 +0200
@@ -1010,7 +1010,7 @@
 	tm.tm_isdst = -1;
 
 	/* figure out the GMT offset */
-	stamp = sapi_get_request_time(TSRMLS_C);
+	stamp = time(NULL);
 	gmt = php_gmtime_r(&stamp, &tmbuf);
 	if (!gmt) {
 		return -1;
--- active-3.1/ext/calendar/cal_unix.c	2009-12-02 16:00:19.000000000 +0100
+++ php-5.3.1/ext/calendar/cal_unix.c	2008-12-31 12:15:49.000000000 +0100
@@ -36,7 +36,7 @@
 	}	
 
 	if (!ts) {
-		ts = sapi_get_request_time(TSRMLS_C);
+		ts = time(NULL);
 	} else if (ts < 0) {
 		RETURN_FALSE;
 	}
--- active-3.1/ext/standard/filestat.c	2009-12-02 16:01:08.000000000 +0100
+++ php-5.3.1/ext/standard/filestat.c	2008-12-31 12:15:49.000000000 +0100
@@ -665,7 +665,7 @@
 #ifdef HAVE_UTIME_NULL
 			newtime = NULL;
 #else
-			newtime->modtime = newtime->actime = sapi_get_request_time(TSRMLS_C);
+			newtime->modtime = newtime->actime = time(NULL);
 #endif
 			break;
 		case 2:
--- active-3.1/ext/standard/head.c	2009-12-02 16:02:38.000000000 +0100
+++ php-5.3.1/ext/standard/head.c	2009-07-29 15:44:16.000000000 +0200
@@ -117,7 +117,7 @@
 		 * so in order to force cookies to be deleted, even on MSIE, we
 		 * pick an expiry date 1 year and 1 second in the past
 		 */
-		time_t t = sapi_get_request_time(TSRMLS_C) - 31536001;
+		time_t t = time(NULL) - 31536001;
 		dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, t, 0 TSRMLS_CC);
 		snprintf(cookie, len + 100, "Set-Cookie: %s=deleted; expires=%s", name, dt);
 		efree(dt);
--- active-3.1/ext/standard/info.c	2009-12-02 16:03:19.000000000 +0100
+++ php-5.3.1/ext/standard/info.c	2009-10-09 19:15:46.000000000 +0200
@@ -1298,7 +1298,7 @@
 	time_t the_time;
 	struct tm *ta, tmbuf;
 
-	the_time = sapi_get_request_time(TSRMLS_C);
+	the_time = time(NULL);
 	ta = php_localtime_r(&the_time, &tmbuf);
 
 	if (ta && (ta->tm_mon==3) && (ta->tm_mday==1)) {
--- active-3.1/ext/standard/ftp_fopen_wrapper.c	2009-12-02 16:03:57.000000000 +0100
+++ php-5.3.1/ext/standard/ftp_fopen_wrapper.c	2008-12-31 12:15:49.000000000 +0100
@@ -823,7 +823,7 @@
 		tm.tm_isdst = -1;
 
 		/* figure out the GMT offset */
-		stamp = sapi_get_request_time(TSRMLS_C);
+		stamp = time(NULL);
 		gmt = php_gmtime_r(&stamp, &tmbuf);
 		if (!gmt) {
 			goto mdtm_error;
--- active-3.1/ext/date/php_date.c	2009-12-02 16:07:36.000000000 +0100
+++ php-5.3.1/ext/date/php_date.c	2009-10-27 11:41:45.000000000 +0100
@@ -774,7 +774,7 @@
  *   "All date-times in RSS conform to the Date and Time Specification of RFC 822,
  *   with the exception that the year may be expressed with two characters or four characters (four preferred)"
  */
-	REGISTER_STRING_CONSTANT("DATE_RSS",     DATE_FORMAT_RFC822, CONST_CS | CONST_PERSISTENT);
+	REGISTER_STRING_CONSTANT("DATE_RSS",     DATE_FORMAT_RFC1123, CONST_CS | CONST_PERSISTENT);
 	REGISTER_STRING_CONSTANT("DATE_W3C",     DATE_FORMAT_RFC3339, CONST_CS | CONST_PERSISTENT);
 
 	REGISTER_LONG_CONSTANT("SUNFUNCS_RET_TIMESTAMP", SUNFUNCS_RET_TIMESTAMP, CONST_CS | CONST_PERSISTENT);
@@ -874,7 +874,7 @@
 		time_t     the_time;
 		char      *tzid = NULL;
 		
-		the_time = sapi_get_request_time(TSRMLS_C);
+		the_time = time(NULL);
 		ta = php_localtime_r(&the_time, &tmbuf);
 		if (ta) {
 			tzid = timelib_timezone_id_from_abbr(ta->tm_zone, ta->tm_gmtoff, ta->tm_isdst);
@@ -1032,7 +1032,7 @@
 			offset->offset = (t->z) * -60;
 			offset->leap_secs = 0;
 			offset->is_dst = 0;
-			offset->abbr = malloc(9); /* GMT?xxxx\0 */
+			offset->abbr = malloc(9); /* GMT±xxxx\0 */
 			snprintf(offset->abbr, 9, "GMT%c%02d%02d", 
 			                          localtime ? ((offset->offset < 0) ? '-' : '+') : '+',
 			                          localtime ? abs(offset->offset / 3600) : 0,
@@ -1172,7 +1172,7 @@
 		RETURN_FALSE;
 	}
 	if (ZEND_NUM_ARGS() == 1) {
-		ts = sapi_get_request_time(TSRMLS_C);
+		ts = time(NULL);
 	}
 
 	string = php_format_date(format, format_len, ts, localtime TSRMLS_CC);
@@ -1241,7 +1241,7 @@
 			offset->offset = (t->z - (t->dst * 60)) * -60;
 			offset->leap_secs = 0;
 			offset->is_dst = t->dst;
-			offset->abbr = malloc(9); /* GMT?xxxx\0 */
+			offset->abbr = malloc(9); /* GMT±xxxx\0 */
 			snprintf(offset->abbr, 9, "GMT%c%02d%02d", 
 			                          !localtime ? ((offset->offset < 0) ? '-' : '+') : '+',
 			                          !localtime ? abs(offset->offset / 3600) : 0,
@@ -1338,7 +1338,7 @@
 	}
 
 	if (ZEND_NUM_ARGS() == 1) {
-		ts = sapi_get_request_time(TSRMLS_C);
+		ts = time(NULL);
 	}
 
 	ret = php_idate(format[0], ts, 0);
@@ -1413,7 +1413,7 @@
 		now = timelib_time_ctor();
 		now->tz_info = tzi;
 		now->zone_type = TIMELIB_ZONETYPE_ID;
-		timelib_unixtime2local(now, (timelib_sll) sapi_get_request_time(TSRMLS_C));
+		timelib_unixtime2local(now, (timelib_sll) time(NULL));
 	} else {
 		RETURN_FALSE;
 	}
@@ -1457,12 +1457,12 @@
 	/* Initialize structure with current time */
 	now = timelib_time_ctor();
 	if (gmt) {
-		timelib_unixtime2gmt(now, (timelib_sll) sapi_get_request_time(TSRMLS_C));
+		timelib_unixtime2gmt(now, (timelib_sll) time(NULL));
 	} else {
 		tzi = get_timezone_info(TSRMLS_C);
 		now->tz_info = tzi;
 		now->zone_type = TIMELIB_ZONETYPE_ID;
-		timelib_unixtime2local(now, (timelib_sll) sapi_get_request_time(TSRMLS_C));
+		timelib_unixtime2local(now, (timelib_sll) time(NULL));
 	}
 	/* Fill in the new data */
 	switch (ZEND_NUM_ARGS()) {
@@ -1582,7 +1582,7 @@
 	timelib_tzinfo      *tzi;
 	timelib_time_offset *offset = NULL;
 
-	timestamp = (long) sapi_get_request_time(TSRMLS_C);
+	timestamp = (long) time(NULL);
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &format, &format_len, &timestamp) == FAILURE) {
 		RETURN_FALSE;
@@ -1674,7 +1674,7 @@
    Return current UNIX timestamp */
 PHP_FUNCTION(time)
 {
-	RETURN_LONG((long)sapi_get_request_time(TSRMLS_C));
+	RETURN_LONG((long)time(NULL));
 }
 /* }}} */
 
@@ -1682,7 +1682,7 @@
    Returns the results of the C system call localtime as an associative array if the associative_array argument is set to 1 other wise it is a regular array */
 PHP_FUNCTION(localtime)
 {
-	long timestamp = (long)sapi_get_request_time(TSRMLS_C);
+	long timestamp = (long)time(NULL);
 	zend_bool associative = 0;
 	timelib_tzinfo *tzi;
 	timelib_time   *ts;
@@ -1729,7 +1729,7 @@
    Get date/time information */
 PHP_FUNCTION(getdate)
 {
-	long timestamp = (long)sapi_get_request_time(TSRMLS_C);
+	long timestamp = (long)time(NULL);
 	timelib_tzinfo *tzi;
 	timelib_time   *ts;
 
@@ -1954,7 +1954,7 @@
 	REGISTER_DATE_CLASS_CONST_STRING("RFC1123", DATE_FORMAT_RFC1123);
 	REGISTER_DATE_CLASS_CONST_STRING("RFC2822", DATE_FORMAT_RFC2822);
 	REGISTER_DATE_CLASS_CONST_STRING("RFC3339", DATE_FORMAT_RFC3339);
-	REGISTER_DATE_CLASS_CONST_STRING("RSS",     DATE_FORMAT_RFC822);
+	REGISTER_DATE_CLASS_CONST_STRING("RSS",     DATE_FORMAT_RFC1123);
 	REGISTER_DATE_CLASS_CONST_STRING("W3C",     DATE_FORMAT_RFC3339);
 
 
@@ -2427,7 +2427,7 @@
 			now->tz_abbr = new_abbr;
 			break;
 	}
-	timelib_unixtime2local(now, (timelib_sll) sapi_get_request_time(TSRMLS_C));
+	timelib_unixtime2local(now, (timelib_sll) time(NULL));
 
 	timelib_fill_holes(dateobj->time, now, TIMELIB_NO_CLONE);
 	timelib_update_ts(dateobj->time, tzi);
--- active-3.1/ext/phar/tar.c	2009-12-02 16:09:05.000000000 +0100
+++ php-5.3.1/ext/phar/tar.c	2009-11-12 18:43:23.000000000 +0100
@@ -914,7 +914,7 @@
 	char *buf, *signature, sigbuf[8];
 
 	entry.flags = PHAR_ENT_PERM_DEF_FILE;
-	entry.timestamp = sapi_get_request_time(TSRMLS_C);
+	entry.timestamp = time(NULL);
 	entry.is_modified = 1;
 	entry.is_crc_checked = 1;
 	entry.is_tar = 1;
--- active-3.1/ext/phar/zip.c	2009-12-02 16:09:51.000000000 +0100
+++ php-5.3.1/ext/phar/zip.c	2009-07-26 03:03:47.000000000 +0200
@@ -126,7 +126,7 @@
 	struct tm *tm, tmbuf;
 	time_t now;
 
-	now = sapi_get_request_time(TSRMLS_C);
+	now = time(NULL);
 	tm = php_localtime_r(&now, &tmbuf);
 
 	tm->tm_year = ((ddate>>9)&127) + 1980 - 1900;
@@ -1178,7 +1178,7 @@
 
 	pass.error = &temperr;
 	entry.flags = PHAR_ENT_PERM_DEF_FILE;
-	entry.timestamp = sapi_get_request_time(TSRMLS_C);
+	entry.timestamp = time(NULL);
 	entry.is_modified = 1;
 	entry.is_zip = 1;
 	entry.phar = phar;
--- active-3.1/ext/phar/phar.c	2009-12-02 16:10:21.000000000 +0100
+++ php-5.3.1/ext/phar/phar.c	2009-07-26 03:03:47.000000000 +0200
@@ -3031,7 +3031,7 @@
 			4: metadata-len
 			+: metadata
 		*/
-		mytime = sapi_get_request_time(TSRMLS_C);
+		mytime = time(NULL);
 		phar_set_32(entry_buffer, entry->uncompressed_filesize);
 		phar_set_32(entry_buffer+4, mytime);
 		phar_set_32(entry_buffer+8, entry->compressed_filesize);
--- active-3.1/sapi/cgi/cgi_main.c	2009-12-02 16:23:09.000000000 +0100
+++ php-5.3.1/sapi/cgi/cgi_main.c	2009-10-20 14:57:44.000000000 +0200
@@ -680,16 +680,6 @@
 	}
 }
 
-static time_t sapi_cgi_request_time(TSRMLS_D)
-{
-	char *rq_time = sapi_cgibin_getenv("RAW_TIME", sizeof("RAW_TIME") - 1 TSRMLS_CC);
-	if (rq_time) {
-		return atol(rq_time);
-	} else {
-		return 0;
-	}
-}
-
 static void sapi_cgi_log_message(char *message)
 {
 	TSRMLS_FETCH();
@@ -917,7 +907,7 @@
 
 	sapi_cgi_register_variables,	/* register server variables */
 	sapi_cgi_log_message,			/* Log message */
-	sapi_cgi_request_time,			/* Get request time */
+	NULL,							/* Get request time */
 	NULL,							/* Child terminate */
 
 	STANDARD_SAPI_MODULE_PROPERTIES
--- active-3.1/ext/standard/html.c	2009-12-02 12:47:32.000000000 +0100
+++ php-5.3.1/ext/standard/html.c	2008-12-31 12:15:49.000000000 +0100
@@ -13,7 +13,7 @@
    | license@php.net so we can mail you a copy immediately.               |
    +----------------------------------------------------------------------+
    | Authors: Rasmus Lerdorf <rasmus@php.net>                             |
-   |          Jaakko Hyv?tti <jaakko.hyvatti@iki.fi>                      |
+   |          Jaakko Hyvätti <jaakko.hyvatti@iki.fi>                      |
    |          Wez Furlong <wez@thebrainroom.com>                          |
    +----------------------------------------------------------------------+
 */
@@ -715,13 +715,13 @@
 static enum entity_charset determine_charset(char *charset_hint TSRMLS_DC)
 {
 	int i;
-	enum entity_charset charset = cs_utf_8;
+	enum entity_charset charset = cs_8859_1;
 	int len = 0;
 	zval *uf_result = NULL;
 
 	/* Guarantee default behaviour for backwards compatibility */
 	if (charset_hint == NULL)
-		return cs_utf_8;
+		return cs_8859_1;
 
 	if ((len = strlen(charset_hint)) != 0) {
 		goto det_charset;
@@ -1273,7 +1273,7 @@
 	char *str, *hint_charset = NULL;
 	int str_len, hint_charset_len = 0;
 	int len;
-	long quote_style = ENT_QUOTES;
+	long quote_style = ENT_COMPAT;
 	char *replaced;
 	zend_bool double_encode = 1;
 
@@ -1316,7 +1316,7 @@
 {
 	char *str, *new_str, *e, *p;
 	int len, j, i, new_len;
-	long quote_style = ENT_QUOTES;
+	long quote_style = ENT_COMPAT;
 	struct basic_entities_dec basic_entities_dec[8];
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &str, &len, &quote_style) == FAILURE) {
@@ -1382,7 +1382,7 @@
 {
 	char *str, *hint_charset = NULL;
 	int str_len, hint_charset_len = 0, len;
-	long quote_style = ENT_QUOTES;
+	long quote_style = ENT_COMPAT;
 	char *replaced;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|ls", &str, &str_len,
@@ -1411,7 +1411,7 @@
    Returns the internal translation table used by htmlspecialchars and htmlentities */
 PHP_FUNCTION(get_html_translation_table)
 {
-	long which = HTML_SPECIALCHARS, quote_style = ENT_QUOTES;
+	long which = HTML_SPECIALCHARS, quote_style = ENT_COMPAT;
 	int i, j;
 	char ind[2];
 	enum entity_charset charset = determine_charset(NULL TSRMLS_CC);
--- active-3.1/ext/standard/microtime.c	2009-12-02 12:50:22.000000000 +0100
+++ php-5.3.1/ext/standard/microtime.c	2009-05-21 16:21:40.000000000 +0200
@@ -52,7 +52,7 @@
 #ifdef HAVE_GETTIMEOFDAY
 static void _php_gettimeofday(INTERNAL_FUNCTION_PARAMETERS, int mode)
 {
-	zend_bool get_as_float = 1;
+	zend_bool get_as_float = 0;
 	struct timeval tp = {0};
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &get_as_float) == FAILURE) {
--- active-3.1/Zend/zend_vm_def.h	2009-12-03 08:33:28.000000000 +0100
+++ php-5.3.1/Zend/zend_vm_def.h	2009-11-02 19:11:33.000000000 +0100
@@ -64,19 +64,6 @@
 	ZEND_VM_NEXT_OPCODE();
 }
 
-ZEND_VM_HANDLER(120, ZEND_DII, CONST|TMP|VAR|CV, CONST|TMP|VAR|CV)
-{
-    zend_op *opline = EX(opline);
-    zend_free_op free_op1, free_op2;
-
-    dii_function(&EX_T(opline->result.u.var).tmp_var,
-        GET_OP1_ZVAL_PTR(BP_VAR_R),
-        GET_OP2_ZVAL_PTR(BP_VAR_R) TSRMLS_CC);
-    FREE_OP1();
-    FREE_OP2();
-    ZEND_VM_NEXT_OPCODE();
-}
-
 ZEND_VM_HANDLER(4, ZEND_DIV, CONST|TMP|VAR|CV, CONST|TMP|VAR|CV)
 {
 	zend_op *opline = EX(opline);
@@ -519,11 +506,6 @@
 	ZEND_VM_DISPATCH_TO_HELPER_EX(zend_binary_assign_op_helper, binary_op, div_function);
 }
 
-ZEND_VM_HANDLER(121, ZEND_ASSIGN_DII, VAR|UNUSED|CV, CONST|TMP|VAR|UNUSED|CV)
-{
-	ZEND_VM_DISPATCH_TO_HELPER_EX(zend_binary_assign_op_helper, binary_op, dii_function);
-}
-
 ZEND_VM_HANDLER(27, ZEND_ASSIGN_MOD, VAR|UNUSED|CV, CONST|TMP|VAR|UNUSED|CV)
 {
 	ZEND_VM_DISPATCH_TO_HELPER_EX(zend_binary_assign_op_helper, binary_op, mod_function);
@@ -3903,7 +3885,11 @@
 
 	switch (opline->extended_value & ZEND_ISSET_ISEMPTY_MASK) {
 		case ZEND_ISSET:
-			Z_LVAL(EX_T(opline->result.u.var).tmp_var) = isset;
+			if (isset && Z_TYPE_PP(value) == IS_NULL) {
+				Z_LVAL(EX_T(opline->result.u.var).tmp_var) = 0;
+			} else {
+				Z_LVAL(EX_T(opline->result.u.var).tmp_var) = isset;
+			}
 			break;
 		case ZEND_ISEMPTY:
 			if (!isset || !i_zend_is_true(*value)) {
@@ -3966,7 +3952,11 @@
 
 			switch (opline->extended_value) {
 				case ZEND_ISSET:
-					result = isset;
+					if (isset && Z_TYPE_PP(value) == IS_NULL) {
+						result = 0;
+					} else {
+						result = isset;
+					}
 					break;
 				case ZEND_ISEMPTY:
 					if (!isset || !i_zend_is_true(*value)) {
--- active-3.1/Zend/zend_operators.c	2009-12-11 02:21:50.000000000 +0100
+++ php-5.3.1/Zend/zend_operators.c	2009-06-04 20:20:45.000000000 +0200
@@ -962,67 +962,6 @@
 }
 /* }}} */
 
-ZEND_API int dii_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {{{ */
-{
-	zval op1_copy, op2_copy;
-	int converted = 0;
-
-	while (1) {
-		switch (TYPE_PAIR(Z_TYPE_P(op1), Z_TYPE_P(op2))) {
-			case TYPE_PAIR(IS_LONG, IS_LONG):
-				if (Z_LVAL_P(op2) == 0) {
-					zend_error(E_WARNING, "Division by zero");
-					ZVAL_BOOL(result, 0);
-					return FAILURE;         /* division by zero */
-				} else if (Z_LVAL_P(op2) == -1 && Z_LVAL_P(op1) == LONG_MIN) {
-					/* Prevent overflow error/crash */
-					ZVAL_DOUBLE(result, (double) LONG_MIN / -1);
-					return SUCCESS;
-				}
-				ZVAL_LONG(result, Z_LVAL_P(op1) / Z_LVAL_P(op2));
-				return SUCCESS;
-
-			case TYPE_PAIR(IS_DOUBLE, IS_LONG):
-				if (Z_LVAL_P(op2) == 0) {
-					zend_error(E_WARNING, "Division by zero");
-					ZVAL_BOOL(result, 0);
-					return FAILURE;         /* division by zero */
-				}
-				ZVAL_LONG(result, (long)Z_DVAL_P(op1) / Z_LVAL_P(op2));
-				return SUCCESS;
-
-			case TYPE_PAIR(IS_LONG, IS_DOUBLE):
-				if (Z_DVAL_P(op2) == 0) {
-					zend_error(E_WARNING, "Division by zero");
-					ZVAL_BOOL(result, 0);
-					return FAILURE;         /* division by zero */
-				}
-				ZVAL_LONG(result, Z_LVAL_P(op1) / (long)Z_DVAL_P(op2));
-				return SUCCESS;
-
-			case TYPE_PAIR(IS_DOUBLE, IS_DOUBLE):
-				if (Z_DVAL_P(op2) == 0) {
-					zend_error(E_WARNING, "Division by zero");
-					ZVAL_BOOL(result, 0);
-					return FAILURE;         /* division by zero */
-				}
-				ZVAL_LONG(result, (long)Z_DVAL_P(op1) / (long)Z_DVAL_P(op2));
-				return SUCCESS;
-
-			default:
-				if (!converted) {
-					zendi_convert_scalar_to_number(op1, op1_copy, result);
-					zendi_convert_scalar_to_number(op2, op2_copy, result);
-					converted = 1;
-				} else {
-					zend_error(E_ERROR, "Unsupported operand types");
-					return FAILURE; /* unknown datatype */
-				}
-		}
-	}
-}
-/* }}} */
-
 ZEND_API int mod_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {{{ */
 {
 	zval op1_copy, op2_copy;
@@ -1329,10 +1268,6 @@
 	if (use_copy2) {
 		op2 = &op2_copy;
 	}
-php_printf("%s\n%s", Z_STRVAL_P(op1), Z_STRVAL_P(op2));
-
-zend_error(E_WARNING, Z_STRVAL_P(op1));
-zend_error(E_WARNING, Z_STRVAL_P(op2));
 
 	ZVAL_LONG(result, zend_binary_zval_strcmp(op1, op2));
 
--- active-3.1/Zend/zend_operators.h	2009-12-03 08:50:46.000000000 +0100
+++ php-5.3.1/Zend/zend_operators.h	2009-06-04 20:20:45.000000000 +0200
@@ -41,7 +41,6 @@
 ZEND_API int sub_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
 ZEND_API int mul_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
 ZEND_API int div_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
-ZEND_API int dii_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
 ZEND_API int mod_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
 ZEND_API int boolean_xor_function(zval *result, zval *op1, zval *op2 TSRMLS_DC);
 ZEND_API int boolean_not_function(zval *result, zval *op1 TSRMLS_DC);
--- active-3.1/Zend/zend_opcode.c	2009-12-03 08:52:18.000000000 +0100
+++ php-5.3.1/Zend/zend_opcode.c	2009-06-06 01:20:59.000000000 +0200
@@ -456,10 +456,6 @@
 		case ZEND_ASSIGN_DIV:
 			return (binary_op_type) div_function;
 			break;
-		case ZEND_DII:
-		case ZEND_ASSIGN_DII:
-			return (binary_op_type) dii_function;
-			break;
 		case ZEND_MOD:
 		case ZEND_ASSIGN_MOD:
 			return (binary_op_type) mod_function;
--- active-3.1/Zend/zend_language_scanner.l	2009-12-03 10:07:14.000000000 +0100
+++ php-5.3.1/Zend/zend_language_scanner.l	2009-12-04 05:59:49.000000000 +0100
@@ -332,7 +332,7 @@
 		if (type==ZEND_REQUIRE) {
 			zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename TSRMLS_CC);
 			zend_bailout();
-		} else if(0/*CG(ignore_include_warning)*/) {
+		} else {
 			zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename TSRMLS_CC);
 		}
 		compilation_successful=0;
@@ -837,7 +837,6 @@
 DNUM	([0-9]*"."[0-9]+)|([0-9]+"."[0-9]*)
 EXPONENT_DNUM	(({LNUM}|{DNUM})[eE][+-]?{LNUM})
 HNUM	"0x"[0-9a-fA-F]+
-BNUM    "0b"[01]+
 LABEL	[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
 WHITESPACE [ \n\r\t]+
 TABS_AND_SPACES [ \t]*
@@ -1107,8 +1106,8 @@
 	return T_GLOBAL;
 }
 
-<ST_IN_SCRIPTING>"isset" {
-	return T_ISSET;
+<ST_IN_SCRIPTING>"ifset" {
+    return T_IFSET;
 }
 
 <ST_IN_SCRIPTING>"empty" {
@@ -1207,14 +1206,6 @@
 	return T_DIV_EQUAL;
 }
 
-<ST_IN_SCRIPTING>"\\\\" {
-    return T_DII;
-}
-
-<ST_IN_SCRIPTING>"\\=" {
-	return T_DII_EQUAL;
-}
-
 <ST_IN_SCRIPTING>".=" {
 	return T_CONCAT_EQUAL;
 }
@@ -1335,27 +1326,6 @@
 	return T_LNUMBER;
 }
 
-<ST_IN_SCRIPTING>{BNUM} {
-	char *bin = yytext + 2; /* Skip "0b" */
-	int len = yyleng - 2;
-
-	/* Skip any leading 0s */
-	while (*bin == '0') {
-		bin++;
-		len--;
-	}
-
-	if (len < SIZEOF_LONG * 2) {
-		zendlval->value.lval = strtol(bin, NULL, 2);
-		zendlval->type = IS_LONG;
-		return T_LNUMBER;
-	} else {
-		zendlval->value.dval = zend_bin_strtod(bin);
-		zendlval->type = IS_DOUBLE;
-		return T_DNUMBER;
-	}
-}
-
 <ST_IN_SCRIPTING>{HNUM} {
 	char *hex = yytext + 2; /* Skip "0x" */
 	int len = yyleng - 2;
@@ -1389,7 +1359,7 @@
 	return T_NUM_STRING;
 }
 
-<ST_VAR_OFFSET>{LNUM}|{HNUM}|{BNUM} { /* Offset must be treated as a string */
+<ST_VAR_OFFSET>{LNUM}|{HNUM} { /* Offset must be treated as a string */
 	zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
 	zendlval->value.str.len = yyleng;
 	zendlval->type = IS_STRING;
--- active-3.1/Zend/zend_language_parser.y	2009-12-03 10:08:58.000000000 +0100
+++ php-5.3.1/Zend/zend_language_parser.y	2009-12-04 05:58:04.000000000 +0100
@@ -55,7 +55,7 @@
 %left T_LOGICAL_XOR
 %left T_LOGICAL_AND
 %right T_PRINT
-%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_DII_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL
+%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL
 %left '?' ':'
 %left T_BOOLEAN_OR
 %left T_BOOLEAN_AND
@@ -66,7 +66,7 @@
 %nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL
 %left T_SL T_SR
 %left '+' '-' '.'
-%left '*' '/' T_DII '%'
+%left '*' '/' '%'
 %right '!'
 %nonassoc T_INSTANCEOF
 %right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@'
@@ -118,6 +118,7 @@
 %token T_VAR
 %token T_UNSET
 %token T_ISSET
+%token T_IFSET
 %token T_EMPTY
 %token T_HALT_COMPILER
 %token T_CLASS
@@ -587,7 +588,6 @@
 	|	variable T_MINUS_EQUAL expr	{ zend_check_writable_variable(&$1); zend_do_end_variable_parse(&$1, BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SUB, &$$, &$1, &$3 TSRMLS_CC); }
 	|	variable T_MUL_EQUAL expr		{ zend_check_writable_variable(&$1); zend_do_end_variable_parse(&$1, BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_MUL, &$$, &$1, &$3 TSRMLS_CC); }
 	|	variable T_DIV_EQUAL expr		{ zend_check_writable_variable(&$1); zend_do_end_variable_parse(&$1, BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_DIV, &$$, &$1, &$3 TSRMLS_CC); }
-	|	variable T_DII_EQUAL expr		{ zend_check_writable_variable(&$1); zend_do_end_variable_parse(&$1, BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_DII, &$$, &$1, &$3 TSRMLS_CC); }
 	|	variable T_CONCAT_EQUAL expr	{ zend_check_writable_variable(&$1); zend_do_end_variable_parse(&$1, BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_CONCAT, &$$, &$1, &$3 TSRMLS_CC); }
 	|	variable T_MOD_EQUAL expr		{ zend_check_writable_variable(&$1); zend_do_end_variable_parse(&$1, BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_MOD, &$$, &$1, &$3 TSRMLS_CC); }
 	|	variable T_AND_EQUAL expr		{ zend_check_writable_variable(&$1); zend_do_end_variable_parse(&$1, BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_AND, &$$, &$1, &$3 TSRMLS_CC); }
@@ -612,7 +612,6 @@
 	|	expr '-' expr 	{ zend_do_binary_op(ZEND_SUB, &$$, &$1, &$3 TSRMLS_CC); }
 	|	expr '*' expr	{ zend_do_binary_op(ZEND_MUL, &$$, &$1, &$3 TSRMLS_CC); }
 	|	expr '/' expr	{ zend_do_binary_op(ZEND_DIV, &$$, &$1, &$3 TSRMLS_CC); }
-	|	expr T_DII expr  { zend_do_binary_op(ZEND_DII, &$$, &$1, &$3 TSRMLS_CC); }
 	|	expr '%' expr 	{ zend_do_binary_op(ZEND_MOD, &$$, &$1, &$3 TSRMLS_CC); }
 	| 	expr T_SL expr	{ zend_do_binary_op(ZEND_SL, &$$, &$1, &$3 TSRMLS_CC); }
 	|	expr T_SR expr	{ zend_do_binary_op(ZEND_SR, &$$, &$1, &$3 TSRMLS_CC); }
@@ -646,7 +645,6 @@
 	|	T_EXIT exit_expr	{ zend_do_exit(&$$, &$2 TSRMLS_CC); }
 	|	'@' { zend_do_begin_silence(&$1 TSRMLS_CC); } expr { zend_do_end_silence(&$1 TSRMLS_CC); $$ = $3; }
 	|	scalar				{ $$ = $1; }
-	|	'[' array_pair_list ']' { $$ = $2; }
 	|	T_ARRAY '(' array_pair_list ')' { $$ = $3; }
 	|	'`' backticks_expr '`' { zend_do_shell_exec(&$$, &$2 TSRMLS_CC); }
 	|	T_PRINT expr  { zend_do_print(&$$, &$2 TSRMLS_CC); }
--- active-3.1/Zend/zend_strtod.c	2009-12-03 00:58:19.000000000 +0100
+++ php-5.3.1/Zend/zend_strtod.c	2009-03-18 11:18:10.000000000 +0100
@@ -2638,24 +2638,6 @@
 	return value;
 }
 
-ZEND_API double zend_bin_strtod(const char *str)
-{
-	const char *s = str;
-	char c;
-	double value = 0;
-
-	if (*s == '0' && s[1] == 'b') {
-		s+= 2;
-	}
-
-	while ((c = *s++)) {
-		value = value * 2 + c - '0';
-	}
-
-	return value;
-}
-
-
 /*
  * Local variables:
  * tab-width: 4
--- active-3.1/Zend/zend_execute.c	2009-12-10 22:10:48.000000000 +0100
+++ php-5.3.1/Zend/zend_execute.c	2009-06-04 20:20:45.000000000 +0200
@@ -607,20 +607,18 @@
 {
 	if (Z_TYPE_P(T->str_offset.str) == IS_STRING) {
 
-		int off = T->str_offset.offset;
-
-		if (off < 0 && (off+= Z_STRLEN_P(T->str_offset.str)) < 0) {
+		if (((int)T->str_offset.offset < 0)) {
 			zend_error(E_WARNING, "Illegal string offset:  %d", T->str_offset.offset);
 			return 0;
 		}
 
-		if (off >= Z_STRLEN_P(T->str_offset.str)) {
-			Z_STRVAL_P(T->str_offset.str) = (char *) erealloc(Z_STRVAL_P(T->str_offset.str), off + 1 + 1);
+		if (T->str_offset.offset >= Z_STRLEN_P(T->str_offset.str)) {
+			Z_STRVAL_P(T->str_offset.str) = (char *) erealloc(Z_STRVAL_P(T->str_offset.str), T->str_offset.offset+1+1);
 			memset(Z_STRVAL_P(T->str_offset.str) + Z_STRLEN_P(T->str_offset.str),
 			       ' ',
-			       off - Z_STRLEN_P(T->str_offset.str));
-			Z_STRVAL_P(T->str_offset.str)[off+1] = 0;
-			Z_STRLEN_P(T->str_offset.str) = off+1;
+			       T->str_offset.offset - Z_STRLEN_P(T->str_offset.str));
+			Z_STRVAL_P(T->str_offset.str)[T->str_offset.offset+1] = 0;
+			Z_STRLEN_P(T->str_offset.str) = T->str_offset.offset+1;
 		}
 
 		if (Z_TYPE_P(value) != IS_STRING) {
@@ -630,10 +628,10 @@
 				zval_copy_ctor(&tmp);
 			}
 			convert_to_string(&tmp);
-			Z_STRVAL_P(T->str_offset.str)[off] = Z_STRVAL(tmp)[0];
+			Z_STRVAL_P(T->str_offset.str)[T->str_offset.offset] = Z_STRVAL(tmp)[0];
 			STR_FREE(Z_STRVAL(tmp));
 		} else {
-			Z_STRVAL_P(T->str_offset.str)[off] = Z_STRVAL_P(value)[0];
+			Z_STRVAL_P(T->str_offset.str)[T->str_offset.offset] = Z_STRVAL_P(value)[0];
 			if (value_type == IS_TMP_VAR) {
 				/* we can safely free final_value here
 				 * because separation is done only
@@ -1068,8 +1066,8 @@
 					dim = &tmp;
 				}
 				if (result) {
-					if (Z_LVAL_P(dim) < 0 && ((Z_LVAL_P(dim)+= Z_STRLEN_P(container)) < 0 || Z_STRLEN_P(container) <= Z_LVAL_P(dim))) {
-						zend_error(E_NOTICE, "Uninitialized string offset: %ld", Z_LVAL_P(dim)-= Z_STRLEN_P(container));
+					if (Z_LVAL_P(dim) < 0 || Z_STRLEN_P(container) <= Z_LVAL_P(dim)) {
+						zend_error(E_NOTICE, "Uninitialized string offset: %ld", Z_LVAL_P(dim));
 					}
 					result->str_offset.str = container;
 					PZVAL_LOCK(container);
--- active-3.1/main/main.c	2009-12-02 13:23:20.000000000 +0100
+++ php-5.3.1/main/main.c	2009-10-28 16:19:32.000000000 +0100
@@ -444,8 +444,7 @@
 	STD_PHP_INI_BOOLEAN("xmlrpc_errors",		"0",		PHP_INI_SYSTEM,		OnUpdateBool,			xmlrpc_errors,			php_core_globals,	core_globals)
 	STD_PHP_INI_ENTRY("xmlrpc_error_number",	"0",		PHP_INI_ALL,		OnUpdateLong,			xmlrpc_error_number,	php_core_globals,	core_globals)
 	STD_PHP_INI_ENTRY("max_input_time",			"-1",	PHP_INI_SYSTEM|PHP_INI_PERDIR,		OnUpdateLong,			max_input_time,	php_core_globals,	core_globals)
-    STD_PHP_INI_BOOLEAN("ignore_include_warning",    "0",   PHP_INI_ALL,        OnUpdateBool,           ignore_include_warning, php_core_globals,   core_globals)
-    STD_PHP_INI_BOOLEAN("ignore_user_abort",	"0",		PHP_INI_ALL,		OnUpdateBool,			ignore_user_abort,		php_core_globals,	core_globals)
+	STD_PHP_INI_BOOLEAN("ignore_user_abort",	"0",		PHP_INI_ALL,		OnUpdateBool,			ignore_user_abort,		php_core_globals,	core_globals)
 	STD_PHP_INI_BOOLEAN("implicit_flush",		"0",		PHP_INI_ALL,		OnUpdateBool,			implicit_flush,			php_core_globals,	core_globals)
 	STD_PHP_INI_BOOLEAN("log_errors",			"0",		PHP_INI_ALL,		OnUpdateBool,			log_errors,				php_core_globals,	core_globals)
 	STD_PHP_INI_ENTRY("log_errors_max_len",	 "1024",		PHP_INI_ALL,		OnUpdateLong,			log_errors_max_len,		php_core_globals,	core_globals)
--- active-3.1/main/php_globals.h	2009-12-02 13:25:43.000000000 +0100
+++ php-5.3.1/main/php_globals.h	2009-10-09 21:06:10.000000000 +0200
@@ -113,7 +113,6 @@
 
 	short connection_status;
 	short ignore_user_abort;
-	short ignore_include_warning;
 
 	unsigned char header_is_being_sent;
 
--- active-3.1/Zend/zend_language_scanner.l	2009-12-03 10:07:14.000000000 +0100
+++ php-5.3.1/Zend/zend_language_scanner.l	2009-12-04 05:59:49.000000000 +0100
@@ -332,7 +332,7 @@
 		if (type==ZEND_REQUIRE) {
 			zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename TSRMLS_CC);
 			zend_bailout();
-		} else if(0/*CG(ignore_include_warning)*/) {
+		} else {
 			zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename TSRMLS_CC);
 		}
 		compilation_successful=0;
@@ -837,7 +837,6 @@
 DNUM	([0-9]*"."[0-9]+)|([0-9]+"."[0-9]*)
 EXPONENT_DNUM	(({LNUM}|{DNUM})[eE][+-]?{LNUM})
 HNUM	"0x"[0-9a-fA-F]+
-BNUM    "0b"[01]+
 LABEL	[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
 WHITESPACE [ \n\r\t]+
 TABS_AND_SPACES [ \t]*
@@ -1107,8 +1106,8 @@
 	return T_GLOBAL;
 }
 
-<ST_IN_SCRIPTING>"isset" {
-	return T_ISSET;
+<ST_IN_SCRIPTING>"ifset" {
+    return T_IFSET;
 }
 
 <ST_IN_SCRIPTING>"empty" {
@@ -1207,14 +1206,6 @@
 	return T_DIV_EQUAL;
 }
 
-<ST_IN_SCRIPTING>"\\\\" {
-    return T_DII;
-}
-
-<ST_IN_SCRIPTING>"\\=" {
-	return T_DII_EQUAL;
-}
-
 <ST_IN_SCRIPTING>".=" {
 	return T_CONCAT_EQUAL;
 }
@@ -1335,27 +1326,6 @@
 	return T_LNUMBER;
 }
 
-<ST_IN_SCRIPTING>{BNUM} {
-	char *bin = yytext + 2; /* Skip "0b" */
-	int len = yyleng - 2;
-
-	/* Skip any leading 0s */
-	while (*bin == '0') {
-		bin++;
-		len--;
-	}
-
-	if (len < SIZEOF_LONG * 2) {
-		zendlval->value.lval = strtol(bin, NULL, 2);
-		zendlval->type = IS_LONG;
-		return T_LNUMBER;
-	} else {
-		zendlval->value.dval = zend_bin_strtod(bin);
-		zendlval->type = IS_DOUBLE;
-		return T_DNUMBER;
-	}
-}
-
 <ST_IN_SCRIPTING>{HNUM} {
 	char *hex = yytext + 2; /* Skip "0x" */
 	int len = yyleng - 2;
@@ -1389,7 +1359,7 @@
 	return T_NUM_STRING;
 }
 
-<ST_VAR_OFFSET>{LNUM}|{HNUM}|{BNUM} { /* Offset must be treated as a string */
+<ST_VAR_OFFSET>{LNUM}|{HNUM} { /* Offset must be treated as a string */
 	zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
 	zendlval->value.str.len = yyleng;
 	zendlval->type = IS_STRING;
