Home | History | Annotate | Download | only in Modules

Lines Matching refs:dp

52     dbmobject *dp;
54 dp = PyObject_New(dbmobject, &Dbmtype);
55 if (dp == NULL)
57 dp->di_size = -1;
58 if ( (dp->di_dbm = dbm_open(file, flags, mode)) == 0 ) {
60 Py_DECREF(dp);
63 return (PyObject *)dp;
69 dbm_dealloc(register dbmobject *dp)
71 if ( dp->di_dbm )
72 dbm_close(dp->di_dbm);
73 PyObject_Del(dp);
77 dbm_length(dbmobject *dp)
79 if (dp->di_dbm == NULL) {
83 if ( dp->di_size < 0 ) {
88 for ( key=dbm_firstkey(dp->di_dbm); key.dptr;
89 key = dbm_nextkey(dp->di_dbm))
91 dp->di_size = size;
93 return dp->di_size;
97 dbm_subscript(dbmobject *dp, register PyObject *key)
106 check_dbmobject_open(dp);
107 drec = dbm_fetch(dp->di_dbm, krec);
113 if ( dbm_error(dp->di_dbm) ) {
114 dbm_clearerr(dp->di_dbm);
122 dbm_ass_sub(dbmobject *dp, PyObject *v, PyObject *w)
133 if (dp->di_dbm == NULL) {
137 dp->di_size = -1;
139 if ( dbm_delete(dp->di_dbm, krec) < 0 ) {
140 dbm_clearerr(dp->di_dbm);
152 if ( dbm_store(dp->di_dbm, krec, drec, DBM_REPLACE) < 0 ) {
153 dbm_clearerr(dp->di_dbm);
159 if ( dbm_error(dp->di_dbm) ) {
160 dbm_clearerr(dp->di_dbm);
168 dbm_contains(register dbmobject *dp, PyObject *v)
180 if (dp->di_dbm == NULL) {
184 val = dbm_fetch(dp->di_dbm, key);
208 dbm__close(register dbmobject *dp, PyObject *unused)
210 if (dp->di_dbm)
211 dbm_close(dp->di_dbm);
212 dp->di_dbm = NULL;
218 dbm_keys(register dbmobject *dp, PyObject *unused)
224 check_dbmobject_open(dp);
228 for (key = dbm_firstkey(dp->di_dbm); key.dptr;
229 key = dbm_nextkey(dp->di_dbm)) {
246 dbm_has_key(register dbmobject *dp, PyObject *args)
256 check_dbmobject_open(dp);
257 val = dbm_fetch(dp->di_dbm, key);
262 dbm_get(register dbmobject *dp, PyObject *args)
274 check_dbmobject_open(dp);
275 val = dbm_fetch(dp->di_dbm, key);
285 dbm_setdefault(register dbmobject *dp, PyObject *args)
297 check_dbmobject_open(dp);
298 val = dbm_fetch(dp->di_dbm, key);
310 if (dbm_store(dp->di_dbm, key, val, DBM_INSERT) < 0) {
311 dbm_clearerr(dp->di_dbm);
336 dbm_getattr(dbmobject *dp, char *name)
338 return Py_FindMethod(dbm_methods, (PyObject *)dp, name);