Skip to content

Commit 0a6ddc7

Browse files
Majkl578nikic
authored andcommitted
Fix bug #76979: define() error message does not mention resources as valid values
1 parent e345af1 commit 0a6ddc7

File tree

6 files changed

+11
-7
lines changed

6 files changed

+11
-7
lines changed

NEWS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ PHP NEWS
1313
generates fatal error). (Nikita)
1414
. Fixed bug #76947 (file_put_contents() blocks the directory of the file
1515
(__DIR__)). (Anatol)
16+
. Fixed bug #76979 (define() error message does not mention resources as
17+
valid values). (Michael Moravec)
1618

1719
- FCGI:
1820
. Fixed #76948 (Failed shutdown/reboot or end session in Windows). (Anatol)

Zend/tests/008.phpt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ var_dump(define("[[[", 2));
1414
var_dump(define("test const", 3));
1515
var_dump(define("test const", 3));
1616
var_dump(define("test", array(1)));
17-
var_dump(define("test1", new stdclass));
17+
var_dump(define("test1", fopen(__FILE__, 'r')));
18+
var_dump(define("test2", new stdclass));
1819

1920
var_dump(constant(" "));
2021
var_dump(constant("[[["));
@@ -42,8 +43,9 @@ bool(true)
4243
Notice: Constant test const already defined in %s on line %d
4344
bool(false)
4445
bool(true)
46+
bool(true)
4547

46-
Warning: Constants may only evaluate to scalar values or arrays in %s on line %d
48+
Warning: Constants may only evaluate to scalar values, arrays or resources in %s on line %d
4749
bool(false)
4850
int(1)
4951
int(2)

Zend/tests/bug37811.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ var_dump(Baz);
2121
--EXPECTF--
2222
string(3) "Foo"
2323

24-
Warning: Constants may only evaluate to scalar values or arrays in %sbug37811.php on line %d
24+
Warning: Constants may only evaluate to scalar values, arrays or resources in %sbug37811.php on line %d
2525

2626
Warning: Use of undefined constant Baz - assumed 'Baz' (this will throw an Error in a future version of PHP) in %sbug37811.php on line %d
2727
string(3) "Baz"

Zend/tests/constant_arrays.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ array(1) {
9494
int(7)
9595
}
9696

97-
Warning: Constants may only evaluate to scalar values or arrays in %s on line %d
97+
Warning: Constants may only evaluate to scalar values, arrays or resources in %s on line %d
9898
bool(false)
9999

100100
Warning: Constants cannot be recursive arrays in %s on line %d

Zend/tests/constants_002.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ var_dump(foo);
1111

1212
?>
1313
--EXPECTF--
14-
Warning: Constants may only evaluate to scalar values or arrays in %s on line %d
14+
Warning: Constants may only evaluate to scalar values, arrays or resources in %s on line %d
1515

1616
Warning: Use of undefined constant foo - assumed 'foo' (this will throw an Error in a future version of PHP) in %s on line %d
1717
string(%d) "foo"

Zend/zend_builtin_functions.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,7 @@ static int validate_constant_array(HashTable *ht) /* {{{ */
794794
}
795795
}
796796
} else if (Z_TYPE_P(val) != IS_STRING && Z_TYPE_P(val) != IS_RESOURCE) {
797-
zend_error(E_WARNING, "Constants may only evaluate to scalar values or arrays");
797+
zend_error(E_WARNING, "Constants may only evaluate to scalar values, arrays or resources");
798798
ret = 0;
799799
break;
800800
}
@@ -895,7 +895,7 @@ ZEND_FUNCTION(define)
895895
}
896896
/* no break */
897897
default:
898-
zend_error(E_WARNING, "Constants may only evaluate to scalar values or arrays");
898+
zend_error(E_WARNING, "Constants may only evaluate to scalar values, arrays or resources");
899899
zval_ptr_dtor(&val_free);
900900
RETURN_FALSE;
901901
}

0 commit comments

Comments
 (0)