26#ifdef QDBM_INCLUDE_FILE
27#include QDBM_INCLUDE_FILE
40 dbf = dpopen(
ZSTR_VAL(info->path), DP_OREADER, 0);
43 dbf = dpopen(
ZSTR_VAL(info->path), DP_OWRITER, 0);
46 dbf = dpopen(
ZSTR_VAL(info->path), DP_OWRITER | DP_OCREAT, 0);
49 dbf = dpopen(
ZSTR_VAL(info->path), DP_OWRITER | DP_OCREAT | DP_OTRUNC, 0);
56 info->dbf =
pemalloc(
sizeof(dba_qdbm_data), info->flags & DBA_PERSISTENT);
57 memset(info->dbf, 0,
sizeof(dba_qdbm_data));
58 ((dba_qdbm_data *) info->dbf)->dbf = dbf;
62 *
error = (
char *) dperrmsg(dpecode);
68 dba_qdbm_data *dba = info->dbf;
71 pefree(dba, info->flags & DBA_PERSISTENT);
76 dba_qdbm_data *dba = info->dbf;
83 fetched_val = zend_string_init(
value, value_size,
false);
92 dba_qdbm_data *dba = info->dbf;
98 if (dpecode != DP_EKEEP) {
107 dba_qdbm_data *dba = info->dbf;
121 dba_qdbm_data *dba = info->dbf;
126DBA_FIRSTKEY_FUNC(qdbm)
128 dba_qdbm_data *dba = info->dbf;
133 dpiterinit(dba->dbf);
135 value = dpiternext(dba->dbf, &value_size);
137 key = zend_string_init(
value, value_size,
false);
144DBA_NEXTKEY_FUNC(qdbm)
146 dba_qdbm_data *dba = info->dbf;
151 value = dpiternext(dba->dbf, &value_size);
153 key = zend_string_init(
value, value_size,
false);
160DBA_OPTIMIZE_FUNC(qdbm)
162 dba_qdbm_data *dba = info->dbf;
164 dpoptimize(dba->dbf, 0);
170 dba_qdbm_data *dba = info->dbf;
memset(ptr, 0, type->size)
PHPAPI ZEND_COLD void php_error_docref(const char *docref, int type, const char *format,...)
unsigned char key[REFLECTION_KEY_LEN]
#define pefree(ptr, persistent)
#define pemalloc(size, persistent)
struct _zend_string zend_string