fixed arg checking for keys() and close()

This commit is contained in:
Guido van Rossum 1995-07-18 18:33:09 +00:00
parent 79ae53e8f0
commit cf1025ba0d
1 changed files with 19 additions and 19 deletions

View File

@ -91,21 +91,6 @@ newdbhashobject(file, flags, mode,
return (object *)dp;
}
static object *
dbhash_close(dp)
dbhashobject *dp;
{
if (dp->di_dbhash != NULL) {
if ((dp->di_dbhash->close)(dp->di_dbhash) != 0) {
err_errno(DbhashError);
return NULL;
}
}
dp->di_dbhash = NULL;
INCREF(None);
return None;
}
static void
dbhash_dealloc(dp)
dbhashobject *dp;
@ -212,6 +197,25 @@ static mapping_methods dbhash_as_mapping = {
(objobjargproc)dbhash_ass_sub, /*mp_ass_subscript*/
};
static object *
dbhash_close(dp, args)
dbhashobject *dp;
object *args;
{
if (!getnoarg(args))
return NULL;
if (dp->di_dbhash != NULL) {
if ((dp->di_dbhash->close)(dp->di_dbhash) != 0) {
dp->di_dbhash = NULL;
err_errno(DbhashError);
return NULL;
}
}
dp->di_dbhash = NULL;
INCREF(None);
return None;
}
static object *
dbhash_keys(dp, args)
dbhashobject *dp;
@ -222,10 +226,6 @@ dbhash_keys(dp, args)
int status;
int err;
if (dp == NULL || !is_dbhashobject(dp)) {
err_badcall();
return NULL;
}
if (!getnoarg(args))
return NULL;
list = newlistobject(0);