summaryrefslogtreecommitdiff
path: root/Zend/zend_constants.c
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2000-07-28 09:44:46 +0000
committerStanislav Malyshev <stas@php.net>2000-07-28 09:44:46 +0000
commit2c95b113bd1b58ff0796c4130c6c795cef0c6b91 (patch)
treeb02b14ed6af8c6065ff644e73f6652aad298c773 /Zend/zend_constants.c
parent5c2c547d9e704bb5176141bb4ea995f2ae8eed2d (diff)
downloadphp-git-2c95b113bd1b58ff0796c4130c6c795cef0c6b91.tar.gz
Make define return false and issue E_NOTICE when trying to redefine constant
@- Make define return false and issue E_NOTICE when trying to redefine constant (Stas)
Diffstat (limited to 'Zend/zend_constants.c')
-rw-r--r--Zend/zend_constants.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c
index 1f0395c6a8..c939f0e70a 100644
--- a/Zend/zend_constants.c
+++ b/Zend/zend_constants.c
@@ -239,9 +239,10 @@ ZEND_API int zend_get_constant(char *name, uint name_len, zval *result)
}
-ZEND_API void zend_register_constant(zend_constant *c ELS_DC)
+ZEND_API int zend_register_constant(zend_constant *c ELS_DC)
{
char *lowercase_name = zend_strndup(c->name, c->name_len);
+ int ret = SUCCESS;
#if 0
printf("Registering constant for module %d\n",c->module_number);
@@ -250,8 +251,11 @@ ZEND_API void zend_register_constant(zend_constant *c ELS_DC)
zend_str_tolower(lowercase_name, c->name_len);
if (zend_hash_add(EG(zend_constants), lowercase_name, c->name_len, (void *) c, sizeof(zend_constant), NULL)==FAILURE) {
zval_dtor(&c->value);
+ zend_error(E_NOTICE,"Constant %s already defined",lowercase_name);
+ ret = FAILURE;
}
free(lowercase_name);
+ return ret;
}