diff options
| author | Stanislav Malyshev <stas@php.net> | 2000-07-28 09:44:46 +0000 |
|---|---|---|
| committer | Stanislav Malyshev <stas@php.net> | 2000-07-28 09:44:46 +0000 |
| commit | 2c95b113bd1b58ff0796c4130c6c795cef0c6b91 (patch) | |
| tree | b02b14ed6af8c6065ff644e73f6652aad298c773 /Zend/zend_constants.c | |
| parent | 5c2c547d9e704bb5176141bb4ea995f2ae8eed2d (diff) | |
| download | php-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.c | 6 |
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; } |
