summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/db/db.c52
1 files changed, 24 insertions, 28 deletions
diff --git a/ext/db/db.c b/ext/db/db.c
index 5c5eb61966..8923c8094c 100644
--- a/ext/db/db.c
+++ b/ext/db/db.c
@@ -167,15 +167,15 @@ dbm_info *php_find_dbm(pval *id)
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);
}
}
@@ -184,7 +184,7 @@ dbm_info *php_find_dbm(pval *id)
/* 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;
@@ -257,7 +257,7 @@ PHP_FUNCTION(dbmopen) {
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);
@@ -415,7 +415,7 @@ PHP_FUNCTION(dbmclose) {
}
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;
@@ -473,11 +473,11 @@ PHP_FUNCTION(dbminsert)
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);
}
/* }}} */
@@ -531,11 +531,11 @@ PHP_FUNCTION(dbmreplace)
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);
}
/* }}} */
@@ -580,6 +580,7 @@ PHP_FUNCTION(dbmfetch)
{
pval *id, *key;
dbm_info *info;
+ char *ret;
if (ZEND_NUM_ARGS()!=2||zend_get_parameters(ht,2,&id,&key)==FAILURE) {
WRONG_PARAM_COUNT;
@@ -588,14 +589,13 @@ PHP_FUNCTION(dbmfetch)
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;
}
@@ -662,11 +662,11 @@ PHP_FUNCTION(dbmexists)
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);
}
/* }}} */
@@ -708,11 +708,11 @@ PHP_FUNCTION(dbmdelete)
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);
}
/* }}} */
@@ -752,7 +752,7 @@ PHP_FUNCTION(dbmfirstkey)
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;
}
@@ -760,9 +760,7 @@ PHP_FUNCTION(dbmfirstkey)
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);
}
}
/* }}} */
@@ -813,17 +811,15 @@ PHP_FUNCTION(dbmnextkey)
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);
}
}
/* }}} */