summaryrefslogtreecommitdiff
path: root/ext/pdo/pdo_sqlstate.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2014-04-22 18:23:03 +0800
committerXinchen Hui <laruence@gmail.com>2014-04-22 18:23:03 +0800
commitbdfef93b424dcca4d1822c7d6393fbb00942cbaa (patch)
tree09cd047f0fff6f30952574a81bf359fa57077f3e /ext/pdo/pdo_sqlstate.c
parent89d89b95861c4366f93e705546c0ca8c4443a425 (diff)
downloadphp-git-bdfef93b424dcca4d1822c7d6393fbb00942cbaa.tar.gz
Refactor PDO (only compilable now)
Diffstat (limited to 'ext/pdo/pdo_sqlstate.c')
-rw-r--r--ext/pdo/pdo_sqlstate.c14
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;
}