diff options
Diffstat (limited to 'ext/pdo/pdo_sqlstate.c')
-rw-r--r-- | ext/pdo/pdo_sqlstate.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/ext/pdo/pdo_sqlstate.c b/ext/pdo/pdo_sqlstate.c index 533a35c404..ed81d875b6 100644 --- a/ext/pdo/pdo_sqlstate.c +++ b/ext/pdo/pdo_sqlstate.c @@ -314,15 +314,12 @@ int pdo_sqlstate_init_error_table(void) int i; const struct pdo_sqlstate_info *info; - if (FAILURE == zend_hash_init(&err_hash, - sizeof(err_initializer)/sizeof(err_initializer[0]), NULL, NULL, 1)) { - return FAILURE; - } + zend_hash_init(&err_hash, sizeof(err_initializer)/sizeof(err_initializer[0]), NULL, NULL, 1); for (i = 0; i < sizeof(err_initializer)/sizeof(err_initializer[0]); i++) { info = &err_initializer[i]; - zend_hash_add(&err_hash, info->state, sizeof(info->state), &info, sizeof(info), NULL); + zend_hash_str_add_mem(&err_hash, info->state, sizeof(info->state) - 1, &info, sizeof(info)); } return SUCCESS; @@ -330,10 +327,9 @@ int pdo_sqlstate_init_error_table(void) const char *pdo_sqlstate_state_to_description(char *state) { - const struct pdo_sqlstate_info **info; - if (SUCCESS == zend_hash_find(&err_hash, state, sizeof(err_initializer[0].state), - (void**)&info)) { - return (*info)->desc; + const struct pdo_sqlstate_info *info; + if ((info = zend_hash_str_find_ptr(&err_hash, state, sizeof(err_initializer[0].state) - 1)) != NULL) { + return info->desc; } return NULL; } |