Skip to content

Commit cd98e46

Browse files
committed
Use zend_string for DBA exist handler
1 parent 0eb0f64 commit cd98e46

15 files changed

+29
-28
lines changed

ext/dba/dba.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -912,7 +912,7 @@ PHP_FUNCTION(dba_exists)
912912
}
913913
}
914914

915-
RETVAL_BOOL(info->hnd->exists(info, ZSTR_VAL(key_str), ZSTR_LEN(key_str)) == SUCCESS);
915+
RETVAL_BOOL(info->hnd->exists(info, key_str) == SUCCESS);
916916
DBA_RELEASE_HT_KEY_CREATION();
917917
}
918918
/* }}} */

ext/dba/dba_cdb.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ DBA_EXISTS_FUNC(cdb)
194194
if (cdb->make)
195195
return FAILURE; /* database was opened writeonly */
196196
#endif
197-
if (php_cdb_find(&cdb->c, key, keylen) == 1)
197+
if (php_cdb_find(&cdb->c, ZSTR_VAL(key), ZSTR_LEN(key)) == 1)
198198
return SUCCESS;
199199
return FAILURE;
200200
}

ext/dba/dba_db1.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ DBA_EXISTS_FUNC(db1)
119119
DBT gval;
120120
DBT gkey;
121121

122-
gkey.data = (char *) key;
123-
gkey.size = keylen;
122+
gkey.data = ZSTR_VAL(key);
123+
gkey.size = ZSTR_LEN(key);
124124

125125
return dba->dbp->get(dba->dbp, &gkey, &gval, 0) != RET_SUCCESS ? FAILURE : SUCCESS;
126126
}

ext/dba/dba_db2.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ DBA_EXISTS_FUNC(db2)
122122
DBT gval = {0};
123123
DBT gkey = {0};
124124

125-
gkey.data = (char *) key;
126-
gkey.size = keylen;
125+
gkey.data = ZSTR_VAL(key);
126+
gkey.size = ZSTR_LEN(key);
127127

128128
if (dba->dbp->get(dba->dbp, NULL, &gkey, &gval, 0)) {
129129
return FAILURE;

ext/dba/dba_db3.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,8 @@ DBA_EXISTS_FUNC(db3)
158158
DBT gkey;
159159

160160
memset(&gkey, 0, sizeof(gkey));
161-
gkey.data = (char *) key; gkey.size = keylen;
161+
gkey.data = ZSTR_VAL(key);
162+
gkey.size = ZSTR_LEN(key);
162163

163164
memset(&gval, 0, sizeof(gval));
164165
if (!dba->dbp->get(dba->dbp, NULL, &gkey, &gval, 0)) {

ext/dba/dba_db4.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -194,8 +194,8 @@ DBA_EXISTS_FUNC(db4)
194194
DBT gkey;
195195

196196
memset(&gkey, 0, sizeof(gkey));
197-
gkey.data = (char *) key;
198-
gkey.size = keylen;
197+
gkey.data = ZSTR_VAL(key);
198+
gkey.size = ZSTR_LEN(key);
199199

200200
memset(&gval, 0, sizeof(gval));
201201

ext/dba/dba_dbm.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,11 @@ DBA_EXISTS_FUNC(dbm)
122122
datum gval;
123123
datum gkey;
124124

125-
gkey.dptr = (char *) key;
126-
gkey.dsize = keylen;
125+
gkey.dptr = ZSTR_VAL(key);
126+
gkey.dsize = ZSTR_LEN(key);
127127

128128
gval = fetch(gkey);
129-
if(gval.dptr) {
129+
if (gval.dptr) {
130130
return SUCCESS;
131131
}
132132
return FAILURE;

ext/dba/dba_flatfile.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ DBA_EXISTS_FUNC(flatfile)
103103
datum gval;
104104
datum gkey;
105105

106-
gkey.dptr = (char *) key;
107-
gkey.dsize = keylen;
106+
gkey.dptr = ZSTR_VAL(key);
107+
gkey.dsize = ZSTR_LEN(key);
108108
gval = flatfile_fetch(dba, gkey);
109109
if (gval.dptr) {
110110
efree(gval.dptr);

ext/dba/dba_gdbm.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ DBA_EXISTS_FUNC(gdbm)
117117
dba_gdbm_data *dba = info->dbf;
118118
datum gkey;
119119

120-
gkey.dptr = (char *) key;
121-
gkey.dsize = keylen;
120+
gkey.dptr = ZSTR_VAL(key);
121+
gkey.dsize = ZSTR_LEN(key);
122122

123123
return gdbm_exists(dba->dbf, gkey) ? SUCCESS : FAILURE;
124124
}

ext/dba/dba_inifile.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ DBA_EXISTS_FUNC(inifile)
112112
php_error_docref(NULL, E_WARNING, "No key specified");
113113
return 0;
114114
}
115-
ini_key = inifile_key_split((char*)key); /* keylen not needed here */
115+
ini_key = inifile_key_split(ZSTR_VAL(key)); /* keylen not needed here */
116116

117117
ini_val = inifile_fetch(dba, &ini_key, 0);
118118
inifile_key_free(&ini_key);

ext/dba/dba_lmdb.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -191,17 +191,17 @@ DBA_EXISTS_FUNC(lmdb)
191191
rc = mdb_txn_begin(LMDB_IT(env), NULL, MDB_RDONLY, &LMDB_IT(txn));
192192
}
193193
if (rc) {
194-
php_error_docref1(NULL, key, E_WARNING, "%s", mdb_strerror(rc));
194+
php_error_docref(NULL, E_WARNING, "%s", mdb_strerror(rc));
195195
return FAILURE;
196196
}
197197

198-
k.mv_size = keylen;
199-
k.mv_data = key;
198+
k.mv_size = ZSTR_LEN(key);
199+
k.mv_data = ZSTR_VAL(key);
200200

201201
rc = mdb_get(LMDB_IT(txn), LMDB_IT(dbi), &k, &v);
202202
if (rc) {
203203
if (MDB_NOTFOUND != rc) {
204-
php_error_docref1(NULL, key, E_WARNING, "%s", mdb_strerror(rc));
204+
php_error_docref(NULL, E_WARNING, "%s", mdb_strerror(rc));
205205
}
206206
mdb_txn_abort(LMDB_IT(txn));
207207
return FAILURE;

ext/dba/dba_ndbm.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,10 @@ DBA_EXISTS_FUNC(ndbm)
9797
datum gval;
9898
datum gkey;
9999

100-
gkey.dptr = (char *) key;
101-
gkey.dsize = keylen;
100+
gkey.dptr = ZSTR_VAL(key);
101+
gkey.dsize = ZSTR_LEN(key);
102102
gval = dbm_fetch(info->dbf, gkey);
103-
if(gval.dptr) {
103+
if (gval.dptr) {
104104
return SUCCESS;
105105
}
106106
return FAILURE;

ext/dba/dba_qdbm.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ DBA_EXISTS_FUNC(qdbm)
107107
dba_qdbm_data *dba = info->dbf;
108108
char *value;
109109

110-
value = dpget(dba->dbf, key, keylen, 0, -1, NULL);
110+
value = dpget(dba->dbf, ZSTR_VAL(key), ZSTR_LEN(key), 0, -1, NULL);
111111
if (value) {
112112
free(value);
113113
return SUCCESS;

ext/dba/dba_tcadb.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ DBA_EXISTS_FUNC(tcadb)
125125
char *value;
126126
int value_len;
127127

128-
value = tcadbget(dba->tcadb, key, keylen, &value_len);
128+
value = tcadbget(dba->tcadb, ZSTR_VAL(key), ZSTR_LEN(key), &value_len);
129129
if (value) {
130130
tcfree(value);
131131
return SUCCESS;

ext/dba/php_dba.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ typedef struct dba_handler {
7575
void (*close)(dba_info *);
7676
zend_string* (*fetch)(dba_info *, zend_string *, int);
7777
zend_result (*update)(dba_info *, zend_string *, zend_string *, int);
78-
zend_result (*exists)(dba_info *, char *, size_t);
78+
zend_result (*exists)(dba_info *, zend_string *);
7979
zend_result (*delete)(dba_info *, char *, size_t);
8080
char* (*firstkey)(dba_info *, size_t *);
8181
char* (*nextkey)(dba_info *, size_t *);
@@ -96,7 +96,7 @@ typedef struct dba_handler {
9696
#define DBA_UPDATE_FUNC(x) \
9797
zend_result dba_update_##x(dba_info *info, zend_string *key, zend_string *val, int mode)
9898
#define DBA_EXISTS_FUNC(x) \
99-
zend_result dba_exists_##x(dba_info *info, char *key, size_t keylen)
99+
zend_result dba_exists_##x(dba_info *info, zend_string *key)
100100
#define DBA_DELETE_FUNC(x) \
101101
zend_result dba_delete_##x(dba_info *info, char *key, size_t keylen)
102102
#define DBA_FIRSTKEY_FUNC(x) \

0 commit comments

Comments
 (0)