int info_type;
ELS_FETCH();
- if (id->type == IS_STRING) {
+ if (Z_TYPE_P(id) == IS_STRING) {
numitems = zend_hash_num_elements(&EG(regular_list));
for (i=1; i<=numitems; i++) {
if (zend_hash_index_find(&EG(regular_list), i, (void **) &le)==FAILURE) {
continue;
}
- if (le->type == le_db) {
+ if (Z_TYPE_P(le) == le_db) {
info = (dbm_info *)(le->ptr);
- if (!strcmp(info->filename, id->value.str.val)) {
+ if (!strcmp(info->filename, Z_STRVAL_P(id))) {
return (dbm_info *)(le->ptr);
}
}
/* didn't find it as a database filename, try as a number */
convert_to_long(id);
- info = zend_list_find(id->value.lval, &info_type);
+ info = zend_list_find(Z_LVAL_P(id), &info_type);
if (info_type != le_db)
return NULL;
return info;
convert_to_string(filename);
convert_to_string(mode);
- info = php_dbm_open(filename->value.str.val, mode->value.str.val);
+ info = php_dbm_open(Z_STRVAL_P(filename), Z_STRVAL_P(mode));
if (info) {
ret = zend_list_insert(info, le_db);
RETURN_LONG(ret);
}
convert_to_long(id);
- if (zend_list_delete(id->value.lval) == SUCCESS) {
+ if (zend_list_delete(Z_LVAL_P(id)) == SUCCESS) {
RETURN_TRUE;
} else {
RETURN_FALSE;
info = php_find_dbm(id);
if (!info) {
- php_error(E_WARNING, "not a valid database identifier %d", id->value.lval);
+ php_error(E_WARNING, "not a valid database identifier %d", Z_LVAL_P(id));
RETURN_FALSE;
}
- ret = php_dbm_insert(info, key->value.str.val, value->value.str.val);
+ ret = php_dbm_insert(info, Z_STRVAL_P(key), Z_STRVAL_P(value));
RETURN_LONG(ret);
}
/* }}} */
info = php_find_dbm(id);
if (!info) {
- php_error(E_WARNING, "not a valid database identifier %d", id->value.lval);
+ php_error(E_WARNING, "not a valid database identifier %d", Z_LVAL_P(id));
RETURN_FALSE;
}
- ret = php_dbm_replace(info, key->value.str.val, value->value.str.val);
+ ret = php_dbm_replace(info, Z_STRVAL_P(key), Z_STRVAL_P(value));
RETURN_LONG(ret);
}
/* }}} */
{
pval *id, *key;
dbm_info *info;
+ char *ret;
if (ZEND_NUM_ARGS()!=2||zend_get_parameters(ht,2,&id,&key)==FAILURE) {
WRONG_PARAM_COUNT;
info = php_find_dbm(id);
if (!info) {
- php_error(E_WARNING, "not a valid database identifier %d", id->value.lval);
+ php_error(E_WARNING, "not a valid database identifier %d", Z_LVAL_P(id));
RETURN_FALSE;
}
- return_value->value.str.val = php_dbm_fetch(info, key->value.str.val);
- if (return_value->value.str.val) {
- return_value->value.str.len = strlen(return_value->value.str.val);
- return_value->type = IS_STRING;
+ ret = php_dbm_fetch(info, Z_STRVAL_P(key));
+ if (ret) {
+ RETVAL_STRING(ret, 0);
} else {
RETURN_FALSE;
}
info = php_find_dbm(id);
if (!info) {
- php_error(E_WARNING, "not a valid database identifier %d", id->value.lval);
+ php_error(E_WARNING, "not a valid database identifier %d", Z_LVAL_P(id));
RETURN_FALSE;
}
- ret = php_dbm_exists(info, key->value.str.val);
+ ret = php_dbm_exists(info, Z_STRVAL_P(key));
RETURN_LONG(ret);
}
/* }}} */
info = php_find_dbm(id);
if (!info) {
- php_error(E_WARNING, "not a valid database identifier %d", id->value.lval);
+ php_error(E_WARNING, "not a valid database identifier %d", Z_LVAL_P(id));
RETURN_FALSE;
}
- ret = php_dbm_delete(info, key->value.str.val);
+ ret = php_dbm_delete(info, Z_STRVAL_P(key));
RETURN_LONG(ret);
}
/* }}} */
info = php_find_dbm(id);
if (!info) {
- php_error(E_WARNING, "not a valid database identifier %d", id->value.lval);
+ php_error(E_WARNING, "not a valid database identifier %d", Z_LVAL_P(id));
RETURN_FALSE;
}
if (!ret) {
RETURN_FALSE;
} else {
- return_value->value.str.val = ret;
- return_value->value.str.len = strlen(ret);
- return_value->type = IS_STRING;
+ RETVAL_STRING(ret, 0);
}
}
/* }}} */
info = php_find_dbm(id);
if (!info) {
- php_error(E_WARNING, "not a valid database identifier %d", id->value.lval);
+ php_error(E_WARNING, "not a valid database identifier %d", Z_LVAL_P(id));
RETURN_FALSE;
}
- ret = php_dbm_nextkey(info, key->value.str.val);
+ ret = php_dbm_nextkey(info, Z_STRVAL_P(key));
if (!ret) {
RETURN_FALSE;
} else {
- return_value->value.str.val = ret;
- return_value->value.str.len = strlen(ret);
- return_value->type = IS_STRING;
+ RETVAL_STRING(ret, 0);
}
}
/* }}} */