diff options
author | Xinchen Hui <laruence@gmail.com> | 2014-05-18 20:23:26 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2014-05-18 20:23:26 +0800 |
commit | af3829608d06c96f61b8ed55c95f42f1fdc75d7c (patch) | |
tree | 269594cd1c1bb7efe5a635fd6a80990aa03a249b /ext/pdo/pdo_sql_parser.c | |
parent | 4ababc3a41e6e68ee0b57ab212ce943900bb6685 (diff) | |
download | php-git-af3829608d06c96f61b8ed55c95f42f1fdc75d7c.tar.gz |
Fixed Hash API usage
Diffstat (limited to 'ext/pdo/pdo_sql_parser.c')
-rw-r--r-- | ext/pdo/pdo_sql_parser.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/ext/pdo/pdo_sql_parser.c b/ext/pdo/pdo_sql_parser.c index cf108991e5..77965ae7a9 100644 --- a/ext/pdo/pdo_sql_parser.c +++ b/ext/pdo/pdo_sql_parser.c @@ -780,8 +780,9 @@ int old_pdo_parse_params(pdo_stmt_t *stmt, char *inquery, int inquery_len, char padding = 3; } if(params) { + HashPosition *param_pos; zend_hash_internal_pointer_reset(params); - while (SUCCESS == zend_hash_get_current_data(params, (void**)¶m)) { + while ((param == zend_hash_get_current_data_ptr_ex(params, ¶m_pos)) != NULL) { if(param->parameter) { convert_to_string(param->parameter); /* accommodate a string that needs to be fully quoted @@ -813,9 +814,9 @@ int old_pdo_parse_params(pdo_stmt_t *stmt, char *inquery, int inquery_len, char } /* lookup bind first via hash and then index */ /* stupid keys need to be null-terminated, even though we know their length */ - if((SUCCESS == zend_hash_find(params, s.tok, s.cur-s.tok,(void **)¶m)) + if((NULL != (param = zend_hash_str_find_ptr(params, s.tok, s.cur-s.tok)) || - (SUCCESS == zend_hash_index_find(params, bindno, (void **)¶m))) + NULL != (params = zend_hash_index_find_ptr(params, bindno))) { char *quotedstr; int quotedstrlen; @@ -852,7 +853,7 @@ int old_pdo_parse_params(pdo_stmt_t *stmt, char *inquery, int inquery_len, char return (int) (s.cur - inquery); } /* lookup bind by index */ - if(SUCCESS == zend_hash_index_find(params, bindno, (void **)¶m)) + if(NULL != zend_hash_index_find(params, bindno, (void **)¶m)) { char *quotedstr; int quotedstrlen; |