Skip to content

Commit 7366a40

Browse files
committed
ext/dba: Use ZEND_HASH_FOREACH_VAL in php_dba_make_key()
1 parent c293462 commit 7366a40

1 file changed

Lines changed: 17 additions & 17 deletions

File tree

ext/dba/dba.c

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -92,39 +92,39 @@ ZEND_GET_MODULE(dba)
9292
/* {{{ php_dba_make_key */
9393
static zend_string* php_dba_make_key(const HashTable *key)
9494
{
95-
zval *group, *name;
96-
zend_string *group_str, *name_str;
97-
HashPosition pos;
98-
int i = 0;
99-
100-
if (zend_hash_num_elements(key) != 2) {
101-
zend_argument_error(NULL, 1, "must have exactly two elements: \"key\" and \"name\"");
102-
return NULL;
103-
}
95+
zval *zv;
96+
zend_string *group_str = NULL, *name_str = NULL;
97+
int i = 0;
98+
99+
if (zend_hash_num_elements(key) != 2) {
100+
zend_argument_error(NULL, 1, "must have exactly two elements: \"key\" and \"name\"");
101+
return NULL;
102+
}
104103

105-
ZEND_HASH_FOREACH_VAL(key, group) {
106-
zend_string *tmp = zval_try_get_string(group);
104+
ZEND_HASH_FOREACH_VAL(key, zv) {
105+
zend_string *tmp = zval_try_get_string(zv);
107106
if (!tmp) {
108107
if (group_str) zend_string_release(group_str);
108+
if (name_str) zend_string_release(name_str);
109109
return NULL;
110110
}
111111

112-
if (i == 0) {
112+
if (i++ == 0) {
113113
group_str = tmp;
114114
} else {
115115
name_str = tmp;
116116
}
117-
118-
i++;
119117
} ZEND_HASH_FOREACH_END();
120118

121119
if (ZSTR_LEN(group_str) == 0) {
122120
zend_string_release(group_str);
123-
return name_str;
121+
return name_str; // ownership transferred
124122
}
125123

126-
zend_string *key_str = zend_strpprintf(0, "[%s]%s",
127-
ZSTR_VAL(group_str), ZSTR_VAL(name_str));
124+
zend_string *key_str = zend_strpprintf(
125+
0, "[%s]%s",
126+
ZSTR_VAL(group_str), ZSTR_VAL(name_str)
127+
);
128128

129129
zend_string_release(group_str);
130130
zend_string_release(name_str);

0 commit comments

Comments
 (0)