Lines Matching refs:dp
78 gdbmobject *dp = PyObject_GC_New(gdbmobject, state->gdbm_type);
79 if (dp == NULL) {
82 dp->di_size = -1;
84 PyObject_GC_Track(dp);
86 if ((dp->di_dbm = gdbm_open((char *)file, 0, flags, mode, NULL)) == 0) {
93 Py_DECREF(dp);
96 return (PyObject *)dp;
101 gdbm_traverse(gdbmobject *dp, visitproc visit, void *arg)
103 Py_VISIT(Py_TYPE(dp));
108 gdbm_dealloc(gdbmobject *dp)
110 PyObject_GC_UnTrack(dp);
111 if (dp->di_dbm) {
112 gdbm_close(dp->di_dbm);
114 PyTypeObject *tp = Py_TYPE(dp);
115 tp->tp_free(dp);
120 gdbm_length(gdbmobject *dp)
122 _gdbm_state *state = PyType_GetModuleState(Py_TYPE(dp));
123 if (dp->di_dbm == NULL) {
127 if (dp->di_size < 0) {
131 if (gdbm_count(dp->di_dbm, &count) == -1) {
144 dp->di_size = count;
151 for (key = gdbm_firstkey(dp->di_dbm); key.dptr;
152 key = gdbm_nextkey(dp->di_dbm,okey)) {
159 dp->di_size = size;
162 return dp->di_size;
187 gdbm_subscript(gdbmobject *dp, PyObject *key)
191 _gdbm_state *state = PyType_GetModuleState(Py_TYPE(dp));
196 if (dp->di_dbm == NULL) {
201 drec = gdbm_fetch(dp->di_dbm, krec);
237 gdbm_ass_sub(gdbmobject *dp, PyObject *v, PyObject *w)
241 _gdbm_state *state = PyType_GetModuleState(Py_TYPE(dp));
246 if (dp->di_dbm == NULL) {
251 dp->di_size = -1;
253 if (gdbm_delete(dp->di_dbm, krec) < 0) {
268 if (gdbm_store(dp->di_dbm, krec, drec, GDBM_REPLACE) < 0) {
379 gdbmobject *dp = (gdbmobject *)self;
382 _gdbm_state *state = PyType_GetModuleState(Py_TYPE(dp));
384 if ((dp)->di_dbm == NULL) {
405 return gdbm_exists(dp->di_dbm, key);